一.前言
在实际操作中,为了便于docker镜像环境和服务配置的迁移,我们有时需要将已在测试环境主机上完成一系列配置的docker镜像或运行中的容器镜像导出,并传输到生产或其他目标环境主机上运行。为此,本文主要聚焦于如何实现docker镜像的导出和导入操作。
二.利用容器中镜像导出/导入
利用docker ps -a命令查看要导出的镜像
2.1导出
这里我们想把ubuntu:16.04导出,因此,指令为
sudo docker export 41dd5782d2b7 > copy.tar
等待导出完成后,会在当前文件看到导出的结果
2.2导入
使用指令
sudo docker import copy.tar
利用docker images查看仓库中的镜像
sudo docker images
利用docker import命令导入的镜像,镜像在仓中是没有镜像名称和标签的,可以使用docker tag命令进行修改。
sudo docker tag 20fc9216254d ubuntu:copy
20fc9216254d:代表待修改的镜像ID,根据实际情况进行选择。
ubuntu:copy:代表仓库中镜像名称和标签。其中“:”前代表镜像名称,“:”后代表镜像标签,名称和标签可以任意命令,但个人建议名称和标签尽量和原镜像保持一致,以保证镜你的统一,如果做了某些修改,为了和原镜像名称进行区分,可以根据自己的实际情况进行命名。
查看命名后结果。
三.创建新容器
使用指令
sudo docker run -it -v /home/pc/docker/copy:/home/pc/docker/copy --name=copy --net=host --env="DISPLAY" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" ubuntu:copy /bin/bash
创建完,再查看结果
到此,我们就完成了目标,之后可以进入到容器内查看源镜像的环境配置是否相同 ,经本人测试,源环境与copy的环境一致。