Archives : February-2021

问题描述
我们需要在 Shell 中处理 JSON 数据,比如我们请求某个 HTTP 接口,接口返回 JSON 数据,而我们需要从中提取某个字段。当然,我们可以使用 sed grep awk 这些工具,但是这些工具只能进行简单处理。如果我们想要生成结构化数据,这些工具是不够的。我们需要处理 JSON 的专用工具。
经过 Google 查找jq(stedolan/jq: Command-line JSON processor),用于处理 JSON 数据的 Shell 命令行工具。
该笔记将记录:在 Shell 中,如何使用 jq 命令处理 JSON 数据,以及常见问题处理。[……]

Read more

该笔记整理介绍什么是镜像,以及镜像的管理,镜像的创建,存储,修改,共享等方面的内容。
镜像(Image)
镜像是什么?
镜像(image)由多个文件系统叠加而成:
bootfs,引导文件系统,位于最底端,像 Linux/Unix 的引导文件系统。用户不会和该引导文件系统有什么交互。当容器启动时,容器会被移动到内存中,而 bootfs 会被卸载,以释放由 initrd 磁盘镜像使用的内存。

rootfs,第二层文件系统,位于 bootfs 之上。rootfs 可以是多种操作系统,例如 Debain、Ubuntu 等等。rootfs 永远是只读状态,不同于传统的 L[……]

Read more

构建镜像的两种方法
方法一、使用 docker commit 命令(不推荐)
类似于版本控制系统的提交命令,比如 git commit 命令。
创建容器 -> 修改 -> 提交
使用docker commit命令提交修改过的容器。该命令只提交与之前差异的部分。
还可以使用 -a 选项指定作者,选项 -m 指定提交信息。
使用 docker inspect 命令查看镜像信息。
访问 docker commit 查看 docker commit 命令的所有选项。
方法二、使用 Dockerfile 构建镜像(推荐)
因为通过[……]

Read more

问题描述
就目前(11/20/2020)的镜像而言,是不能“跨平台”的(这里的“平台”是指处理器架构)。因为镜像里面包含二进制文件,这些二进制文件是平台相关的。
但是,我们观察到一个现象,当我们从 DockerHub 拉取镜像时,即使使用相同的地址,也会自动获得对应平台的镜像。以拉取 Nginx 镜像为例: 1)在 ARM64 上,执行 docker pull nginx 将返回 ARM64 平台的镜像; 2)在 AMD64 上,执行 docker pull nginx 将返回 AMD64 平台的镜像;
这是个很有用的特性,比如,对于不同平台,我们可以使用同个 docke[……]

Read more

内容简介
本文将简单介绍如何“清理”Docker镜像,以释放系统资源(磁盘),以及Docker镜像到底应该如何删除。
什么是「清理镜像」?
我们讨论的是“清理”,而不是“删除”。这二者有什么区别呢?
“删除”更倾向于一个特定的移除动作。比如,删除某个镜像,删除某个标签。我们通常使用docker rmi命令来删除镜像。
“清理”更加的倾向于资源的释放。比如,删除某些未使用的镜像,以释放系统存储空间。可以使用docker image prune命令来清理镜像。
两个词语
# 什么是「未用镜像」?
「未用镜像」表示尚未在容器中分配或使用它。例如,当运[……]

Read more

本笔记的内容包含:如何删除本地 Docker 镜像;如何删除远程 Docker 镜像;在删除过程中出现的常见问题的处理;还涉及了一些 Docker 镜像存储方式方面的内容。
删除远程镜像
在镜像仓库(如 Docker Hub 中)中的镜像,目前不能通过命令删除,要在镜像仓库中删除。通过单击按钮来完成删除操作,不涉及特别复杂的内容,所以简单略过。
# 08/08/2019 今天在 Docker v19.03 (current) 看到了 docker registry rmi 命令,可以从Registry中移除镜像,目前出于实验性质。
删除本地镜像
删除单个或多个镜像[……]

Read more

问题描述
自动有了网络加速,我们再也不担心镜像拉取失败的问题。
但是,有些客户网络隔离无法访问外网,因此需要我们下载并复制镜像到服务器。
该笔记将记录:如何下载镜像到本地,复制到内网服务器,并加载镜像到本地。
解决方法
第一步、下载镜像到本地

docker pull “<image name>” # 必须先 pull 镜像到本地
docker save -o “<path for generated tar file>” “<image name>”

如果没有指定 -o 选项,默认输出到标准输出,可以[……]

Read more

内容简介
在Docker中的镜像是以“层”的形式存在的,各个层之间项目依赖。那如何清晰直观的看到这些进行层之间的关系呢?
这正是本文要讨论的内容,通过借助工具,以树形的方式展示镜像层之间的关系。
# (推荐) dockviz – Visualizing Docker Data
-「GitHub/justone/dockviz」
可以以树形结构打印镜像之间的依赖关系,同时还可以配合Graphviz使用,生成图。
!!!不一定非要以Docker镜像的方式启动,可以直接到「Releases」页面下载二进制程序。
# (推荐) dive
-「Git[……]

Read more