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

docker compose yml文件容器重新启动时的重新启动顺序

葛威
2023-03-14

我有一个docker撰写yml文件,定义了几个容器:

  1. 数据库
  2. 网络服务

我在“web服务”中定义了“依赖于”,在“数据库”之后开始。这两个容器都定义为“始终重新启动”。

我一直在谷歌上搜索,在系统重启时找不到关于容器启动顺序的清晰信息。docker守护进程是否读取docker compose yml文件并启动数据库,然后启动web服务?或者它是如何工作的?

共有2个答案

颛孙英才
2023-03-14

集装箱根据合同启动。

也在重启。

但你不应该过分依赖它。

你可以让你的Web服务崩溃,当他没有访问db. docker会自动重启它,它会重试。

如果您想更安全/准确地处理它,还可以使用类似于下面的脚本等待端口可访问。

https://github.com/vishnubob/wait-for-it

docker在他的文档中对此进行了解释:https://docs.docker.com/compose/startup-order/

那样的话,你的花花公子比你所依赖的还要多。因为这只取决于订单,而不是服务是否准备好,甚至是否正常工作。

武博艺
2023-03-14

如果要在系统启动时启动容器,则必须使用Linux的CRON守护进程等设置某种“预定”作业。

Docker守护程序本身不负责唤醒容器,comment文件中的restart条目指的是例如在容器中的应用程序崩溃时重新启动,结束作业后(终止终端)等。

请找到docker docs的重启说明https://docs.docker.com/config/containers/start-containers-automatically/#restart-policy-details

 类似资料:
  • 问题内容: 今天,我使用appcontainers / mediawiki docker映像部署了MediaWiki实例,现在遇到一个新问题,无法找到任何线索。尝试使用以下方法附加到mediawiki前端容器后: 出于我忽略的原因,它在我的配置上做出回答,还尝试: 我确实收到错误消息附近的内容: 这是我的新问题,因为此容器永不停止重新启动。我看到使用总是返回STATUS的状态。 问题是,我能够停止

  • 我今天使用应用程序容器/媒体维基泊出程序映像部署了MediaWiki的一个实例,我现在遇到了一个新问题,我找不到任何线索。尝试使用以下命令附加到媒体维基前端容器后: 由于我忽略的原因,它在我的配置中回答< code >终止,并尝试: 我确实收到了一些接近错误消息的内容: 这是我的新问题,因为这个容器永远不会停止重新启动。我可以看到,使用<code>docker ps-a。 问题是,我能够停止容器(

  • 我希望容器在计算机重新启动后自动启动,所以我使用'--restart=always'标志,但它并没有像我预期的那样运行。当我重新启动系统时,容器没有启动。 docker日志信息 添加docker ps-a message,$docker ps-a CONTAINER ID IMAGE命令CREATED STATUS PORTS NAMES a1f4d5471b0a mysql:8.0“docker

  • 问题内容: 我想在Docker容器中运行的Nginx中添加/删除服务器 我在Dockerfile中使用ADD命令将我的nginx.conf添加到/ etc / nginx目录中。 然后在我正在运行的nginx容器中有一个像这样的conf 如何重新启动我的Nginx以使已编辑的Nginx.conf生效? 先感谢您! 问题答案: 要重新加载NGINX配置,请运行以下命令 docker kill -s

  • 我正在尝试重新启动时循环。我已经声明了布尔类型的变量保去。如果int变量x不在窗口中,保去将变为假。然后重置()方法必须保持去=真。它可以工作,但同时循环不工作。 使用reset()和checkWin()初始化: 第二类带有线程、保持和时循环:

  • 我有一个单身演员的等级制度。父母监督和协调孩子。当重新启动协调器时,我需要保持子角色运行。有没有一种方法可以防止子角色在其父角色重新启动时重新启动,或者我应该重新考虑我的角色层次结构?我一直在研究akka的监管策略,但找不到明确的答案。