docker容器迁移到服务端 详解将本地docker容器迁移到服务端
木子昭 人气:0从docker容器生成镜像
docker commit -a "zhaoolee" -m “完成uwsgi的配置” qs zhaoolee-qs:1.0
参数说明: -a为作者署名, -m为本次提交的内容说明, qs为容器的名称, zhaoolee-qs:1.0表示新生成的镜像名为zhaoolee-qs,镜像zhaoolee-qs版本号为1.0
从容器生成镜像的时间可以会比较长, 需要耐心等待
将docker镜像导出为静态文件
docker save zhaoolee-qs:1.0 > qs01.tar
zhaoolee-qs:1.0
为镜像名, qs01.tar
为新生成的静态文件名
通过将scp将静态文件发送到服务端
scp ./qs01.tar root@192.168.214.162:/qs01.tar
./qs01.tar 表示当前本地路径下的静态文件qs01.tar, root@192.168.214.162表示以root的身份登录ip为192.168.214.162服务器, :/qs0.tar表示qs01.tar将要存储到远程服务器根目录下,文件名保持为qs01.tar
scp远程拷贝是一个非常值得掌握的命令, 简单实用, 也可用与脚本编程
将静态文件还原为镜像, 并导入docker
docker load < qs01.tar
登录192.168.214.162
, 进入根目录下(qs01.tar所在的位置), 运行此命令, 即可将镜像恢复, 并导入docker管理器
从刚刚导入的镜像新建容器
docker run -t -i --name qs01 -p 3000:80 -p 8000:8000 zhaoolee-qs:1.0 /bin/bash
小技巧: 退出当前容器环境但不关闭当前容器ctrl+p+q
小结:
利用静态文件进行容器的迁移, 是一件非常简单的事情, 你可以像发布一个软件包一样将自己的docker容器生成的静态文件分发到各类操作系统, docker才是真正的跨平台呀!
加载全部内容