如何导出和导入Docker镜像/容器
时间:2020-02-23 14:31:33 来源:igfitidea点击:
在本教程中,我们将研究如何导出和导入Docker镜像和容器。在导出Docker容器之前,我们需要将更改提交到镜像中并进行适当的标记。 Docker有一个export命令,使我们可以将Docker镜像/容器从一个Docker主机系统迁移到另一个节点。
在我的本地Docker系统中,我具有以下Docker镜像。
$sudo 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 774MB
导出Docker镜像
在第一个练习中,我们将按原样导出Docker镜像,并将其移动到运行Docker引擎的第二个Node。
sudo docker save rook/ceph:master > rook-ceph.tar sudo docker save ceph/ceph:v14.2.2-20190826 > ceph.tar
docker save标志用于将一个或者多个图像保存到tar存档中。
为了运行Docker容器,首先要根据容器的变化创建一个新镜像。
sudo docker commit --change "Added something" webapp webapp:v2 sudo docker save webapp:v2 > webapp_v2.tar
其中webapp是运行容器的名称。
导入保存的Docker镜像
将导出的Docker镜像存档复制到目标服务器,然后使用docker import命令导入它们。
$sudo docker import 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并正确标记它。
sudo docker tag 4e1a2b349b09 rook/ceph:master