Docker镜像迁移方案
文章目录
一:背景
比如机器上已经有先有的容器,但是docker pull的时候是失败的
二:操作方式
1、停止正在运行的容器比如showdoc
docker stop showdoc
2、保存当前镜像showdoc为showdoc_new的新镜像
docker commit showdoc showdoc_new
3、将刚刚保存的新镜像showdoc_new打包成文件showdoc.tar
docker save -o showdoc.tar showdoc_new
4、把showdoc.tar上传到要迁移的目标服务器,然后载入镜像 docker load -i showdoc.tar
5、运行showdoc:docker run -d --name showdoc -p 8090:80 -v /kkddata/software/tools/showdoc_data:/var/www/html showdoc
6、服务器安全组开启8090
大文件迁移使用scp命令
scp -r gogs.tar root@IP:/home/gogs/
三:异常原因
1、先服务器看所属的端口,例如80
netstat -tnlp 80
2、查看docker运行日志
docker logs showdoc
3、进入docker容器查看所属端口情况
docker exec -it showdoc /bin/bash
netstat -tnlp 80
可能会因为内部端口未启动而引起不能访问, 比如nginx配置不能使用IP6的形式等
参考:
Docker--容器报错 Error response from daemon: driver failed programming external connectivity on endpoint