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

Docker-Compose重启策略

燕青青
2023-03-14
问题内容

我查看了docker-compose的文档,发现版本3具有部署重启策略,但这仅适用于群集。我尝试在服务上设置restart_policy,但出现此错误:

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.web: 'restart_policy'

有什么方法可以对使用Swarm之外的docker-compose创建的服务设置重启策略吗?


问题答案:

第2版​​使用restart关键字支持重启策略,如果不需要Swarm(您说不需要/不需要),它应该对您来说很好用。

version: '2'
services:
  web:
    image: apache
    restart: always

https://docs.docker.com/compose/compose-file/compose-
file-v2/#restart

撰写格式版本3的参数称为restart_policy,但据我所知,它仅作为一部分有效deploy,仅当部署到Swarm时才使用。因此,对于您的情况,版本3可能没有用。



 类似资料:
  • 我有一个文件,它包含4个容器:redis、postgres、api、worker 在worker的开发过程中,我经常需要重新启动它,以便应用更改。有没有什么好方法可以在不重新启动其他容器的情况下重新启动容器(例如)?

  • 我正在为一个django应用程序创建一个 docker-compose 配置,Dockerfile 成功构建,但是当我编写它们时,django 返回一个问题 - 无法连接到 posgres。 我运行<code>docker compose运行web bash<code>,发现redis和posgres都无法连接。 我的docker-compose.yml文件: 执行< code>docker-co

  • 我有一个docker撰写yml文件,定义了几个容器: 数据库 网络服务 我在“web服务”中定义了“依赖于”,在“数据库”之后开始。这两个容器都定义为“始终重新启动”。 我一直在谷歌上搜索,在系统重启时找不到关于容器启动顺序的清晰信息。docker守护进程是否读取docker compose yml文件并启动数据库,然后启动web服务?或者它是如何工作的?

  • 我有容器A和B,当我执行时,我希望它首先启动容器A,然后启动容器B。我指定了指令,但它似乎被忽略了(我看到它首先启动容器B)。 运行版本为3.4的YML文件,该文件有2个服务(A,B)。 谢谢你

  • 问题内容: 我看到Docker添加了一种称为“重启策略”的东西,以处理例如在重启的情况下容器的重启。 尽管这非常有用,但我看到重新启动策略命令仅适用于而不适用。所以我的问题是: 是否可以将重启策略添加到过去已经创建的容器中? 问题答案: 在最新版本的docker(从1.11版本开始)中,您具有以下命令:

  • 主要内容:实例,Compose 安装,使用,composetest/app.py 文件代码,docker-compose.yml 配置文件,yml 配置指令参考Compose 简介 Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。 如果你还不了解 YML 文件配置,可以先阅读 YAML 入门教程。 Compose 使用的三个步骤: