在主机之间移动docker – 组成容器

我想将我的应用程序堆栈由3个docker镜像组成,并由docker-compose进行pipe理,并将其从我的开发机器完全移到生产机器上。 我知道有几种方法可以直接使用docker:

  • 将图像推送到registry并将其从生产中拉出
  • docker工从开发中节省,然后docker负载生产
  • 重build生产中的图像(宁愿把依赖关系放在生产上,所以不是一个好的select)。

我目前正在倾向于做docker保存,然后docker加载,但是我想知道是否有一种方法来执行docker-composepipe理的整个容器集合?

提前致谢

在Compose中没有保存构build文件中的图像的function,这是Docker客户端的工作(正如您在docker savedocker load陈述的那样)。 幸运的是,bash很简单:

 images=(web cache db) for image in images do docker save ${image} > ${image}.tar scp ${image}.tar $yourhost: ssh $yourhost docker load ${image}.tar done 

远程registry选项可能是更“生产级”的方法。 移动一堆图像可能会很慢,但YMMV。