docker导入导出镜像以及迁移与备份
容器配置完成,往往需要连带环境配置,包括部署项目整体打包到另一台服务器运行
1、容器保存为镜像
我们通过以下命令,将容器保存为镜像。语法:docker commit 容器名称 要保存为的镜像名称
docker commit mynginx mynginx_i
2、镜像备份 (注意是保存在当前执行命令的宿主机上的目录中)
我们通过以下命令,将镜像保存为tar;语法:docker save -o 要保存的tar名称 被保存的镜像名称
docker save -o mynginx.tar mynginx_i 或者 docker save mynginx_i > mynginx.tar
3、镜像恢复与迁移
docker load -i mynginx.tar 或者 docker load < mynginx.tar
- -i 输入的文件;执行后再次查看镜像,可以看到镜像已经恢复
----------------------------------------------------------------------------------------------------------------------------------------
辅助内容:
迁移过来的容器目录已经部署好的项目文件丢失
原因:
构建的时候 使用的docker-compose up 构建的,构建的具体步骤没有仔细阅读,现在想想应该是构建的时候直接挂载的外面目录。
所以在 load 之后的镜像镜像里面也是没有的。
解决方法:
将挂载的目录文件也拷贝到新主机。 重新启动容器,使用: -itv 【文件目录】 :【挂载docker容器中目录】
命令:
docker run -d -p 80:80 -p 443:443 -itv /Users/jjshen/itools/dockersoft/webdkp/webdkp-master/www:/var/www/html --name webserver webdkp-master_webserver
docker导入镜像报错:open /var/lib/docker/tmp/docker-import-970689518/bin/json: no such file or
解决方案:
cat 一下,如下图所示,就OK了
Docker 启动 Centos 镜像 提示"Error response from daemon: No command specified"
奇怪的是当我执行启动其他的镜像的时候并没有报错,找了半天资料发现在启动centos这个镜像的时候需要在docker命令后面指定命令参数“/bin/bash”
2、本站文章部分来源注册用户发布或互联网收集而来,若有侵权,请邮件联系作者。
邮箱地址:wtao219@qq.com