[英]Control startup order in 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
我有一個依賴於Redis Databse容器的容器。 但是,redis需要更長的時間才能加載到內存中,從而導致第一個容器退出。 目前,我正在使用始終重新啟動方法來解決該問題,這是一種解決方法。
我想知道是否有更好的選擇,因為我會盡量避免等待腳本?
您可以在redis容器中指定運行condition: service_healthy
,並將condition: service_healthy
添加到depends_on
字段。 自撰寫2.1起有效
version: "2.1"
services:
web:
build: .
ports:
- "80:8000"
depends_on:
"db":
condition: service_healthy
command: ["python", "app.py"]
db:
image: postgres
使用的詳細示例在這里: https : //github.com/peter-evans/docker-compose-healthcheck/blob/master/docker-compose.yml
通過在docker compose文件中使用“ depends_on”命令,可以更改容器的啟動順序,並為需要提前啟動的容器賦予優先級。
nginx:
container_name: OTP-Nginx
build:
context: ./nginx
args:
- comapanycode=${COMPANY_CODE}
- dbtype=${DB_TYPE}
ports:
- "80:80"
links:
- db:db
volumes:
- ./nginx/octopus_nginx_params:/etc/nginx/octopus_nginx_params
enabled/retail.octopusdashboard.com
- /home/eleos/octopusupdates/DASHBOARDGLOBAL/branches-cdbwip:/var/www/${COMPANY_CODE}/cdb
depends_on:
- db
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.