服务器间镜像文件快速复制
网络中有多台主机需要同一镜像文件,而该文件又比较大的时候,逐一拉取是比较麻烦的事情,通过docker save
打包镜像再通过scp
传到其他主机是比较方便的,测试如下:
例如mysql镜像文件
mysql latest 8e8c6f8dc9df 4 days ago 546MB
使用命令打包:
sudo docker save mysql:latest -o myimg.tar
打包出来的文件通过scp
传到另一台主机:
sudo scp myimg.tar ubuntu@192.168.2.26:/tmp/
在另一台主机上执行docker load
还原镜像:
ubuntu@09-2:/tmp$ sudo docker load -i myimg.tar
b60e5c3bcef2: Loading layer [==================================================>] 72.49MB/72.49MB
746ef614d661: Loading layer [==================================================>] 338.4kB/338.4kB
478bf6a73d06: Loading layer [==================================================>] 9.539MB/9.539MB
246ad53299e0: Loading layer [==================================================>] 4.2MB/4.2MB
f2b1703888ed: Loading layer [==================================================>] 1.536kB/1.536kB
c73d9f519696: Loading layer [==================================================>] 53.75MB/53.75MB
c4a52d4531b7: Loading layer [==================================================>] 6.656kB/6.656kB
53e783b27a6d: Loading layer [==================================================>] 3.584kB/3.584kB
ef2a52de3c1a: Loading layer [==================================================>] 411.2MB/411.2MB
73734f098425: Loading layer [==================================================>] 5.632kB/5.632kB
ace58d0dd227: Loading layer [==================================================>] 16.38kB/16.38kB
fe80e859fd88: Loading layer [==================================================>] 1.536kB/1.536kB
Loaded image: mysql:latest
另外,还可以用docker export/import
对容器进行导出打包和重命名:
ubuntu@09-1:~$ sudo docker run --name bbs -d maxidea/bbsimon1
1b75fbc1253fb74ca0222b252a8c752db7856b9f94b56e015eae8fcacb23d0a3
ubuntu@09-1:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1b75fbc1253f maxidea/bbsimon1 "sh" 3 seconds ago Exited (0) 3 seconds ago bbs
ubuntu@09-1:~$ sudo docker export -o bbs.tar bbs
ubuntu@09-1:~$ sudo scp bbs.tar ubuntu@192.168.2.26:/tmp/
ubuntu@192.168.2.26's password:
bbs.tar 100% 1410KB 155.9MB/s 00:00
导入:
ubuntu@09-2:/tmp$ sudo docker import bbs.tar maxidea/bbsimon1:imp_fr_09-1
sha256:e2d268936d7ecc158081fe572bb6058134d386baa7775e2c8d3b0aa9cc61a196
ubuntu@09-2:/tmp$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
maxidea/bbsimon1 imp_fr_09-1 e2d268936d7e 19 seconds ago 1.22MB
这里可以看出,使用docker import
导入的镜像文件,可以进行重命名,而使用docker load
的则不行。
Last updated