原创: 唐苏衡 Java程序进阶 7月10日
工作中经常需要拉取一些国外的镜像,但是网络限制等原因在公司拉取很慢,所以我习惯用亚马逊服务器拉取镜像,导出后下载到本地再导入开发环境
1. 查看镜像id
显示当前docker中的镜像:
docker images
镜像列表如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 735f80812f90 4 weeks ago 83.5MB
2.镜像的导入和导出
export 和improt
导出容器:
docker export
<容器名> > <保存路径>
如导在A机中导出容器ubuntu18:
docker export ubuntu18 > ./ubuntu18.tar
导入容器的命令:
docker import <文件路径> <容器名>
把A机当前文件夹下的ubuntu18.tar文件拷贝到B机上,在B机上运行:
docker import ./ubuntu18.tar ubuntu18
save 和load
(相当与镜像的备份和恢复)
导出镜像:
docker save -o <保存路径> <镜像名称:标签>
如把A机 ubuntu:18.04 导出到当前文件夹,则在A机上运行:
docker save -o ./ubuntu18.tar ubuntu:18.04
此时,把A机当前文件夹下的ubuntu18.tar拷贝到另一台安装过docker的B机上,在B机上导入镜像:
docker load --input ./ubuntu18.tar
这样镜像ubuntu:18.04就成功的从A机复制到B机上了
3. 在开发环境导入上述打包的镜像
a) 查看镜像id
sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE quay.io/calico/node v1.0.1 c70511a49fa1 6 weeks ago 257 MB hello-world latest 48b5124b2768 2 months ago 1.84 kB
b) 选择要打包的镜像,执行打包命令
sudo docker save -o quay.io-calico-node-1.tar quay.io/calico/node
会在当前目录下生成导出文件xxx.tar,然后将此文件下载到本地
c) 导入上述打包的镜像
docker load -i quay.io-calico-node-1.tar
0a43edc59c00: Loading layer 27.59 MB/27.59 MB 69a5574b2581: Loading layer 3.636 MB/3.636 MB fb0933709f36: Loading layer 3.913 MB/3.913 MB 7384abd120f5: Loading layer 3.859 MB/3.859 MB e34911610de0: Loading layer 27.06 MB/27.06 MB d6ec327c8cbe: Loading layer 6.656 kB/6.656 kB Loaded image ID: sha256:ada87b3276f307a6b1b1ada15820b6c9842fd839fe5cc46ad5db8af81f7fd271
至此,可以使用本地镜像了!