当前位置: 首页 > 知识库问答 >
问题:

在主机之间移动docker-compose容器集

范志勇
2023-03-14

我想把我的应用程序堆栈,由3个docker映像组成,由docker-compose管理,并把它从开发机器整体转移到生产机器上。我知道用直上Docker做这件事的几种方法:

    null

提前致谢

共有1个答案

沈实
2023-03-14

Compose中没有保存构建在Compose文件中的图像的功能,这是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

远程注册表选项可能是一种更“生产级”的方法。移动一堆图像可能是相当慢的,但YMMV。

 类似资料:
  • 问题内容: 我想将我的应用程序堆栈(由3个docker映像组成)并由docker- compose管理,将其全部从开发机器移至生产机器。我知道几种直接使用docker的方法: 将图像推送到注册表,然后将其从生产环境中撤回 docker从开发中保存,然后在生产中加载docker 在生产中重建映像(宁愿保持对生产的依赖性,所以不是一个好的选择。) 我目前倾向于先保存docker然后再加载docker,

  • 问题内容: 我找不到将Docker运行容器从一台主机移动到另一台主机的方法。 有什么办法可以像将图像一样将容器推入存储库吗?当前,我不使用数据卷来存储与在容器内运行的应用程序关联的数据。因此,一些数据驻留在容器内,我想在重新设计设置之前将其保留。 问题答案: 您无法将正在运行的Docker容器从一台主机移动到另一台主机。 您可以使用将容器中的更改提交到映像,将映像移到新主机上,然后使用启动新容器。

  • 我已加载图像: 但现在我想运行它们,就像它们使用docker-compose运行一样,但我找不到任何示例。 下面是docker-compose.yml 所以,即使我有docker-compose yml文件,但由于我有来自另一个主机的构建映像,我可以运行docker命令来运行和执行映像吗?确保引用的是本地映像,而不是来自docker注册表的映像。 谢谢@tgogos,这确实给了我一个大致的概述,但

  • 问题内容: 我在组成2.9(在yml版本2.1中)的“自定义”桥网络中的“ Ubuntu 16.10服务器”上运行多个容器。我的大多数容器在内部都使用相同的端口,因此我无法使用“主机”网络驱动程序。我的容器都是通过专用属性链接在一起的。 但是,我还需要访问容器外部公开的服务。这些服务具有专用URL,其名称已在我公司的DNS服务器中注册。虽然我可以使用公共DNS并从容器中访问任何公共服务没有问题,但

  • 我正在使用rabbitmq和一个简单的python示例以及docker-compose。我的问题是需要等待rabbitmq完全启动。从我到目前为止搜索的内容来看,我不知道如何使用容器x(在我的情况下是worker)等待直到启动y(rabbitmq)。 我发现了这篇博文,他在那里检查另一个主机是否在线。我还找到了这个docker命令: 等等 用法:docker wait CONTAINER[CONT

  • 问题内容: 我正在使用docker-compose和v3。我正在尝试在Docker中挂载卷: 我想将此作为卷,然后从多个容器中引用该卷。的卷配置参考仅示出了作为命名体积,用没有值,因此它不会像以上。 这给了我: 错误:在文件“ ./docker-compose.yml”中,卷“ app-volume”必须是映射而不是字符串。 显然,我知道我需要更改键/值对,但是我不确定 如何 更改它,以便可以在服