depends_on: db: condition: service_healthy db: container_name: db image: mysql ports: - "3306" environment: MYSQL_ALLOW_EMPTY_PASSWORD: "yes" MYSQL_USER: "user" MYSQL_PASSWORD: "password" MYSQL_DATABASE: "database" healthcheck: test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost...
通过依赖指定depend_on,并且配合healthcheck等检查健康之后,再将服务启动。
healthcheck设置容器的状态(* 起始、正常或不正常 *),但docker-compose不会等到backend容器正常后再启...
docker-compose 并不能保证服务的启动顺序。docker-compose 中的 depends_on 配置是容器的启动顺序, 并...
使用depends_on关键字 version: services:flask: build: - REDIS_HOST= - REDIS_PASS= healthcheck: test: ["CMD", "curl", "-f", "localhost:5000"] interval: 30s timeout: 3s retries: 3 start_period: 40s - redis-server networks: - backend - frontend networks: - backendnginx: ports: - ...
depends_on: redis: condition: service_healthy redis: image: redis healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 1s timeout: 3s retries: 30 原文由 quanta 发布,翻译遵循 CC BY-SA 4.0 许可协议 有用 回复 撰写回答 你尚未登录,登录后可以 和开发者交流问题的细节 关注并接收问题...
HEALTHCHECK [OPTIONS] CMD command(通过在容器内运行命令来检查容器健康状况) HEALTHCHECK NONE(禁用从基础镜像继承的任何健康检查) 十六、SHELL 覆盖用于命令的 shell 形式的默认 shell。Linux 上的默认 shell 是 ["/bin/sh", "-c"],Windows 上是 ["cmd", "/S", "/C"]。
healthcheck# v2.1 以上版本, 定义容器健康状态检查, 类似于 Dockerfile 的 HEALTHCHECK 指令 test# 检查容器检查状态的命令, 该选项必须是一个字符串或者列表, 第一项必须是 NONE, CMD 或 CMD-SHELL, 如果其是一个字符串则相当于 CMD-SHELL 加该字符串 ...
首先,我们创建一个名为docker-compose.yml的文件,并添加以下内容: version:'3'services:web:build:.ports:-8080:8080depends_on:-dbhealthcheck:test:["CMD-SHELL","curl -f http://localhost:8080/ || exit 1"]interval:5stimeout:1s retries: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12....