Docker迁移整个容器
Docker容器迁移的两组命令
save 支持将多个镜像打包到一个文件中
# xxx, yyy为镜像名, zzz.tar为打包后的镜像包
docker save xxx yyy > zzz.tar# 载入镜像
docker load < zzz.tar
要保留Docker容器里的数据,选择save&load方式。
save&load操作的是images,所以要先把容器commit成镜像。
待打包的镜像名如果输入为IMAGE ID,load后无法显示镜像名,显示为NONE
Docker多容器迁移脚本
# 打包容器
# xxx是容器名字
# yyy是新镜像的名字
docker commit xxx yyy# 导出镜像
docker save yyy > yyy.tar
commit_save.sh
1 | 打包镜像 |
Docker多容器加载脚本
# 导入镜像
docker load -i yyy.tar# 运行导入镜像,生成容器
docker run -d –name yyy -p qqqq:qqqq -e zzz=ttt –restart=always yyy
load_run.sh
1 | 导入镜像 |
解决one-more.sh: line 40: $’\r’: command not found错误:
sed -i ‘s/\r//‘ load_run.sh
迁移Docker应用数据
tar方式打包Docker应用的挂载目录,迁移至新机子,再tar解压,并设置为新机子Docker应用的挂载目录。