docker - Docker 消息是否为 : "Ignoring unsupported options: restart" mean the restart policy is ignored?

标签 docker docker-compose

使用docker stack deploy,我可以看到如下信息:

Ignoring unsupported options: restart
  • 是否意味着重启政策没有到位?
  • 是否必须在撰写文件之外指定它们?

您可以看到此消息,例如 Joomla compose file available at the bottom of that page . 启动撰写文件:

sudo docker swarm init
sudo docker stack deploy -c stackjoomla.yml joomla

最佳答案

docker-compose 工具使用 Compose YAML 文件,用于本地(单主机)开发和测试场景,以及 Swarm Stacks,用于生产多主机问题。

Compose 文件中有许多设置仅适用于一种工具或另一种工具(docker-compose up vs. docker stack deploy),因为某些设置是特定的开发和其他特定于生产集群的人。它们在那里没关系,当包含特定工具将忽略的设置时,您会在任一工具中看到警告。这在 build: 设置(仅限 docker-compose)和 deploy: 设置(仅限 Swarm Stacks)中很常见。

这里的整个目标是您可以在两个工具中使用的单个文件,并且撰写文件的相关部分在该场景中使用,而其余部分被忽略。

所有这些都可以引用 compose file documentation 中的单个设置。 .如果您经常使用 Compose YAML,我建议您始终在此页面上打开一个选项卡,因为多年来我几乎每天都在引用它,因为规范不断变化(我们现在处于 3.4+ 版本)。

docker-compose 默认不重启容器,但是如果你设置了单一设置 restart: as documented here 就可以了.但该设置不适用于 Swarm Stacks。它将在 docker stack deploy 中显示为警告,提醒您该设置不会在 Swarm Stack 中生效。

Swarm Stacks 使用 deploy: 设置下的 restart_policy:which gives finer control with multiple sub-settings .与所有 Stack 一样,不必在 compose 文件中指定默认值,您会在该文档页面上看到它们的默认设置。

该页面上有一个列表settings that won't work in a Swarm Stack ,但它看起来不完整,因为 restart: 设置也应该在那里。我会提交 PR 来解决这个问题。

此外,在您向我们指出的 Joomla 示例中,README 似乎也已过时,因为它在 compose 示例中包含 links:,即 depreciated as of Compose version 2 ,并且不再需要(因为自定义虚拟网络上的所有容器现在都可以相互访问)。

关于docker - Docker 消息是否为 : "Ignoring unsupported options: restart" mean the restart policy is ignored?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48111049/

相关文章:

django - Docker - psql : django. db.utils.OperationalError: FATAL: 角色 "admin"不存在

ruby-on-rails - 入口点.sh 执行 : @: not found

docker - 使用docker compose运行Apache NIFI

docker - 尝试将 GitLab-CE docker 容器连接到 OpenLDAP docker 容器

shell - Docker exec 需要最少 2 个参数

容器启动时应用程序错误地解析了 Docker 别名

windows - Docker在Linux环境而不是Windows环境下撰写工作

symfony - docker-compose ERROR : The Compose file is invalid because: Service database has neither an image nor a build context specified. 至少一个必须是……

docker - "docker-compose down"如何知道哪些内容应该被删除?

java - 应用程序按预期工作,但是当我使用 Docker 对应用程序进行 conterize 时,它​​无法访问 Cassandra 容器