我之前问了一个问题
事情是这样的:我想在一台没有互联网连接的服务器(服务器B)里用docker部署一个服务,而这个服务依赖好几个镜像和好几个容器运行,我的想法是先在一台与服务器B环境完全相同的但是能接入互联网的服务器(服务器A)上部署成功之后迁移到服务器B上再运行。
这个是服务链接
以下是我在服务器A上的操作步骤:
把仓库完整pull下来,同时用U盘给服务器B也原样复制一份,然后有一个配置地址的步骤,在这不写了官方文档里有,然后make start
,服务成功启动。然后docker save -o any.tar XXX XXX XXX ...
把所有的容器都打包到any.tar
里,然后用U盘把any.tar
搞到服务器B里。
服务器A上的事情就算完成了。
然后到服务器B上操作:
先docker load -i any.tar
然后到仓库目录中make restart
报错,make start
依然报错。
之后我又试了docker export & import
docker commit
,都是同样的结果,甚至还仔细研究了仓库里的makefile
文件内容……
我承认我太笨了……
最后我在服务器A(服务已经正常运行了的状态)上发现仓库文件已经发生了很大变化,我用这一套仓库文件拿到服务器B替换了之前的仓库文件,然后make restart
服务成功启动。