Docker跨主机跨服务器迁移

发布时间 2024-01-08 14:16:48作者: 李济宏(Amadeus)

​主要作用: 就是让配置好的容器,可以得到复用,后面用到得的时候就不需要重新配置。
其中涉及到的命令有:
docker commit 将容器保存为镜像
docker save -o 将镜像备份为tar文件
docker load -i 根据tar文件恢复为镜像

老服务器

docker备份

[root@it-1c2d ~]# docker ps
[root@it-1c2d ~]# docker commit nginx nginx20230927
sha256:a60c338d123fe1b6f7f9d336f5482c64d4f8544ce5419dc75294e2cbf5467078
[root@it-1c2d ~]# docker images
REPOSITORY                                                  TAG        IMAGE ID       CREATED         SIZE
nginx20230927                                               latest     a60c338d123f   3 seconds ago   187MB
nginx                                                       latest     89da1fb6dcb9   2 months ago    187MB
[root@it-1c2d ~]# docker save -o nginx20230927.tar nginx20230927
[root@it-1c2d ~]# ls -lrt
-rw------- 1 root root 191403008 Sep 27 14:18 nginx20230927.tar

传到新服务器

scp -v nginx20230927.tar root@xxx.xxx.xxx.xxx:/root

有些本地挂载的目录也传到新服务器对应位置

scp -rv /home/nginx/ root@xxx.xxx.xxx.xxx:/home/nginx

新服务器 欧拉

docker恢复

安装docker

dnf install -y docker

恢复docker

[root@localhost ~]# docker load -i nginx20230927.tar
c6e34807c2d5: Loading layer [==================================================>]  77.81MB/77.81MB
24ee1d7d6a62: Loading layer [==================================================>]  113.2MB/113.2MB
4deafab383fa: Loading layer [==================================================>]  3.584kB/3.584kB
8aedfcd777c7: Loading layer [==================================================>]  4.608kB/4.608kB
c88d3a8ff009: Loading layer [==================================================>]   2.56kB/2.56kB
abc3beec4b30: Loading layer [==================================================>]   5.12kB/5.12kB
922d16116201: Loading layer [==================================================>]  7.168kB/7.168kB
ea4026767793: Loading layer [==================================================>]  328.2kB/328.2kB
Loaded image: nginx20230927:latest
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx20230927       latest              a60c338d123f        23 minutes ago      187MB

新服务器启动docker

[root@localhost conf.d]# docker run  -d -p 80:80 -p 443:443 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx -v /home/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /home/nginx/ssl:/etc/nginx/ssl nginx20230927