在本指南中,我们将介绍如何导出和导入 Docker 镜像和容器。在导出 Docker 容器之前,你需要将更改提交到映像中,并对其进行适当的标记。Docker 有一个导出命令,可以让你把 Docker 镜像/容器从一个 Docker 主机系统迁移到另一个节点。
在我的本地 Docker 系统中,有以下 Docker 镜像。
bash
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rook/ceph master d55319cc22f8 12 hours ago 852MB
ceph/ceph v14.2.2-20190826 9bd6baa6e20a 7 days ago
导出 Docker 映像
bash
docker save rook/ceph:master > rook-ceph.tar
docker save ceph/ceph:v14.2.2-20190826 > ceph.tar
docker save 标志用于将一个或多个镜像保存到 tar 存档中。
要运行 Docker 容器,首先要根据容器的更改创建一个新镜像。
bash
docker commit --change "Added something" webapp webapp:v2
docker save webapp:v2 > webapp_v2.tar
其中 webapp 是运行的容器名称。
导入已保存的 Docker 映像
将导出的 docker 镜像存档复制到目标服务器,然后使用 docker import 命令导入它们。
bash
$ docker load < rook-ceph.tar
Getting image source signatures
Copying blob 5f91d4a491de: 829.12 MiB / 834.23 MiB [===========================]
Copying blob 5f91d4a491de: 834.23 MiB / 834.23 MiB [=======================] 11s
Copying config dd85e44a0f8b: 419 B / 419 B [================================] 0s
Writing manifest to image destination
Storing signatures
dd85e44a0f8bcf876749eabaeae5924ab6778b5ce191b37e08d4874982d8a601
复制图像 ID 并正确标记。
bash
docker tag 4e1a2b349b09 rook/ceph:master
我会定期在CSDN分享我的学习心得,项目经验和行业动态。如果你对某个领域感兴趣,或者想要了解更多技术干货,请关注我的账号,一起成长!