在工作中我们习惯了用docker pull从仓库中下载镜像进行操作,或者docker-compose build/up来进行镜像构建,但是这往往依赖于所在服务器可以正常连接外网。
当服务器不能联网,想要构建image的时候,各种connect timeout,其实是很糟心的,无奈之下可能会想到在可以连接网络的服务器上构建镜像,然后导出。跟安装软件那样,虽然繁琐也不失为一种方法。
下面我记录了下我是怎么进行docker images导入导出的。
mkdir images #创建用来保存images的文件夹,与docker 命令的images无关
docker images #查看docker的镜像,如果列表没有 可以-a查看下全部镜像
如图是我本地docker的镜像列表
docker save 332d3131884b>jmeter-slave.rar #将id为332d3131884b的文件导出到压缩包
scp jmeter-slave.rar eqfeng@ip:/home/eqfeng/images/ #将文件上传到目标服务器的images目录
ssh eqfeng@ip #登录远程主机
docker images #查看现有docker的images ,便于快速区分导入的images的id
cd /home/eqfeng/images #进入image导出文件所在的目录
docker load<jmeter-slave.rar #导入image文件
docker iamges #查看镜像文件,那个多出来的没有name的image就是新导入的
docker tag 066d3e7d2396 jmeter-slave:jmeter-slave #给这个导入的image打个标签,这样后续再有导入的docker images就不容易弄混了