ute*_*ngr 2 docker dockerfile docker-compose
除了以下方法之外,是否可以控制 Docker-compose 中启动容器的顺序?
https://docs.docker.com/compose/startup-order/
version: "2"
services:
web:
build: .
ports:
- "80:8000"
depends_on:
- "db"
command: ["./wait-for-it.sh", "db:5432", "--", "python", "app.py"]
db:
image: postgres
Run Code Online (Sandbox Code Playgroud)
我有一个依赖于 redis 数据库容器的容器。然而,redis 加载到内存中需要更长的时间,这会导致第一个容器退出。目前,我使用始终重新启动方法来处理该问题作为解决方法。
我想知道是否有更好的替代方案,因为我会尝试避免等待脚本?
您可以在 Redis 容器中指定运行状况检查并将其添加condition: service_healthy到您的depends_on字段中。从 compose 2.1 开始就有效
version: "2.1"
services:
web:
build: .
ports:
- "80:8000"
depends_on:
"db":
condition: service_healthy
command: ["python", "app.py"]
db:
image: postgres
Run Code Online (Sandbox Code Playgroud)
详细的使用示例在这里:https://github.com/peter-evans/docker-compose-healthcheck/blob/master/docker-compose.yml
| 归档时间: |
|
| 查看次数: |
5827 次 |
| 最近记录: |