详解将本地docker容器迁移到服务端

从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镜像导出为静态文件

docker save zhaoolee-qs:1.0 > qs01.tar

zhaoolee-qs:1.0为镜像名, qs01.tar为新生成的静态文件名

详解将本地docker容器迁移到服务端

通过将scp将静态文件发送到服务端

scp ./qs01.tar [email protected]:/qs01.tar

./qs01.tar 表示当前本地路径下的静态文件qs01.tar, [email protected]表示以root的身份登录ip为192.168.214.162服务器, :/qs0.tar表示qs01.tar将要存储到远程服务器根目录下,文件名保持为qs01.tar

详解将本地docker容器迁移到服务端

scp远程拷贝是一个非常值得掌握的命令, 简单实用, 也可用与脚本编程

将静态文件还原为镜像, 并导入docker

docker load < qs01.tar

详解将本地docker容器迁移到服务端

登录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

详解将本地docker容器迁移到服务端

小技巧: 退出当前容器环境但不关闭当前容器ctrl+p+q

小结:

利用静态文件进行容器的迁移, 是一件非常简单的事情, 你可以像发布一个软件包一样将自己的docker容器生成的静态文件分发到各类操作系统, docker才是真正的跨平台呀!

相关推荐