快速将docker容器转移到其他服务器上

  docker提供了可独立于宿主机的容器,通常单独为一个项目创建一个容器并在内部进行独立地进行环境配置。在某些场景下,需要将当前服务器的某一个docker容器转移到另一个linux服务器。因此,经过尝试,总结了一套相对比较容易的方案。

  • 首先,确保当前服务器目标服务器是可连通的,即可通过ssh访问;
  • 在本机,将当前的容器提交为一个镜像,执行:
sudo docker commit -m="这里是描述信息" [容器名称或id] [自定义的镜像名称]

例如:

sudo docker commit -m="创建一个新的镜像" wjn_docker wjn_image
  • 等待数秒后,可通过命令 sudo docker images 查看是否生成镜像成功
  • 然后,将当前的镜像生成为文件,使用命令:
sudo docker save -o [目标存储的路径/名称.tar] [自定义的镜像名称]

例如:

sudo docker save -o /usr/local/wjn_image.tar wjn_image
  • 可以直接使用一些FTP工具,将文件 wjn_image.tar 传输到指定的服务器目录,或者在目标服务器上执行命令:
scp [当前服务器的用户名]@[当前服务器地址]:[当前服务器文件的地址] [目标服务器要存放的地址]

例如假设我们要将服务器 10.11.6.13 上的镜像文件 wjn_image.tar 传输到 10.11.6.14,则在 10.11.6.14 服务器上执行下面命令

scp root@10.11.6.13:/usr/local/wjn_image.tar /wjn/wjn_image.tar
  • 最后,在目标服务器上,执行命令 sudo docker load -i [镜像文件] 即可。例如
sudo docker load -i /usr/local/wjn_image.tar
  • 等待数秒后,在目标服务器上执行 sudo docker images 则可以查看是否成功将镜像生成。
  • 最后,执行sudo docker run 命令以及相应的 sudo docker start来创建这个容器并启动。具体的创建启动命令及其参数可以参考博客 pycharm与ssh远程访问服务器docker 中的第四步。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐