当前位置: 首页 > 面试题库 >

如何在不同主机之间移动Docker容器?

薛博赡
2023-03-14
问题内容

我找不到将Docker运行容器从一台主机移动到另一台主机的方法。

有什么办法可以像将图像一样将容器推入存储库吗?当前,我不使用数据卷来存储与在容器内运行的应用程序关联的数据。因此,一些数据驻留在容器内,我想在重新设计设置之前将其保留。


问题答案:

您无法将正在运行的Docker容器从一台主机移动到另一台主机。

您可以使用将容器中的更改提交到映像docker commit,将映像移到新主机上,然后使用启动新容器docker run。这将保留您的应用程序在容器内创建的所有数据。

Nb: 它不保留存储在卷内的数据。您需要将数据卷手动移动到新主机。



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

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

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

  • -v /root/mysql/conf:/etc/mysql 上面命令可以将宿主机目录挂载到容器中,当容器目录不为空时,宿主机目录下的文件会覆盖了容器目录中的文件。 如果我现在宿主机没有配置文件,/root/mysql/conf 是空。 我想把容器中默认的配置映射出来,效果是容器启动后,/root/mysql/conf 目录下出现了容器 /etc/mysql 目录下的内容,如何实现。 -v mys

  • Docker允许来自多个容器的服务器通过链接和服务发现相互连接。然而,据我所知,这个服务发现是主机本地的。我想实现一个使用其他托管在不同机器上的服务的服务。 在Docker中有几种方法可以解决这个问题,比如CoreOS的< code>jumpers,本质上代理其他机器的主机本地服务,以及一大堆用于管理Docker部署的github项目,这些项目似乎都试图支持这个用例。 鉴于发展速度,很难遵循当前的

  • 问题内容: 我正在尝试通过我的应用进行连接。如果我通过或通过运行应用程序,则所有这些工作都可以进行。但是,当我在其中运行应用程序时,出现以下错误消息: 请注意,在以上错误消息中正确,但其他时间晚了5天。 我发现有趣的是,我只在docker容器中收到过此消息。 需要注意的一件事是,但是删除它根本没有帮助我 我基本上从IntelliJ运行相同的步骤,但没有问题,但是在docker中,到期日期似乎要晚5