在没有Docker Registry时,可以通过docker save和docker load命令完成镜像迁移的过程,先将镜像保存为压缩包,然后在其他位置再加载压缩包。
将镜像保存为压缩包文件
[root@CentOS-7 ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest 5766334bdaa0 2 weeks ago 182.5 MB
[root@CentOS-7 ~]
[root@CentOS-7 ~]
[root@CentOS-7 ~]
[root@CentOS-7 ~]
-rw-r--r-- 1 root root 69M Apr 24 17:28 nginx-latest.tar.gz
[root@CentOS-7 ~]
加载镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
# docker load -i nginx-latest.tar.gz
5d6cbe0dbcf9:Loading layer [======================] 129.2 MB/129.2 MB
aca7b1f22e02: Loading layer [==================================================>] 9.216 kB/9.216 kB
31fc28b38091: Loading layer [==================================================>] 61.24 MB/61.24 MB
97b903fe0f6f: Loading layer [==================================================>] 3.584 kB/3.584 kB
Loaded image: docker.io/nginx:latest> ] 512 B/3.584 kB
#
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/nginx latest 5766334bdaa0 2 weeks ago 182.5 MB
快捷命令
将镜像从一个主机迁移到另一个主机:
docker save
[root@CentOS-7 ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest 48b5124b2768 3 months ago 1.84 kB
[root@CentOS-7 ~]
[root@CentOS-7 ~]
root@10.140.1.120's password:
Loaded image: docker.io/hello-world:latest
[root@CentOS-7 ~]#
[root@TestNode ~]
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:3c:d9:72 brd ff:ff:ff:ff:ff:ff
inet 10.140.1.120/24 brd 10.140.1.255 scope global dynamic enp0s3
valid_lft 84898sec preferred_lft 84898sec
inet6 fe80::a00:27ff:fe3c:d972/64 scope link
valid_lft forever preferred_lft forever
[root@TestNode ~]
[root@TestNode ~]
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest 48b5124b2768 3 months ago 1.84 kB
[root@TestNode ~]