docker save与ctr image import的镜像导入导出操作
时间:2024-11-15 10:54 作者:Anglei 分类: 虚拟化
导出
通过docker save 将镜像打包成文件:
docker save -o node-v3.27.2.tar docker.io/calico/node:v3.27.2
docker save:这是告诉 Docker 你想要保存一个或多个镜像的命令。
-o node-v3.27.2.tar:-o 选项用于指定输出文件的名称。在这个例子中,输出文件被命名为 node-v3.27.2.tar。这意味着命令执行后,你将会在当前目录下找到一个名为 node-v3.27.2.tar 的文件,里面包含了指定的 Docker 镜像。
docker.io/calico/node:v3.27.2: 这是你想要保存的 Docker 镜像的名称和标签。docker.io 是 Docker Hub 的默认注册表地址(也可以省略,因为 Docker 会默认从 Docker Hub 查找镜像),calico/node 是镜像的仓库名称,v3.27.2 是镜像的标签(也称为版本)。
导入:K8S
将打包的文件,通过ctr导入到K8S的镜像空间下:
ctr -n=k8s.io image import node-v3.27.2.tar
ctr: 这是 containerd 的命令行工具。containerd 是一个开源的容器运行时,它负责管理和运行容器,以及存储和分发容器镜像。ctr 提供了与 containerd 交互的命令行界面。
-n=k8s.io: 这个选项指定了命令操作的命名空间。在 Kubernetes 和一些容器运行时中,命名空间用于将资源(如容器、镜像等)逻辑上分组。在这个例子中,k8s.io 是指定的命名空间名称。不过,需要注意的是,k8s.io 通常不是一个用于容器镜像导入的命名空间,它更可能是一个示例或特定环境中的命名空间。在实际使用中,你可能需要根据你的容器运行时配置来选择正确的命名空间。
image: 这个词指明了命令将要对镜像进行操作。ctr 命令提供了多种与镜像相关的子命令,如 pull(拉取镜像)、push(推送镜像)、list(列出镜像)等。在这个例子中,image 表示接下来的操作是与镜像相关的。
import: 这个子命令用于从本地文件导入一个镜像。与 pull 命令从远程仓库拉取镜像不同,import 命令允许用户从本地文件系统中导入一个已经存在的镜像文件(通常是一个 tar 归档文件)。
node-v3.27.2.tar: 这是要导入的镜像文件的名称。在这个例子中,node-v3.27.2.tar 是一个包含 Node.js 环境的镜像文件,版本号为 v3.27.2。该文件应该位于执行 ctr 命令的同一目录或指定的路径中。
导入docker
则使用
docker load -i node-v3.27.2.tar
上述的应用场景是导入的服务器是纯内网环境或者无法下载镜像使用。

推荐阅读:
![]() 路过(0) |
![]() 雷人(0) |
![]() 握手(1) |
![]() 鲜花(0) |
![]() 鸡蛋(0) |