当我运行docker stack deploy -c docker-stack.yml myapp
时,
我收到错误消息:
db-migrator不允许附加属性db-migrator
docker-stack.yml:
version: "3"
services:
web:
image: tenzan/myapp_web:prod
ports:
- "80:3000"
env_file:
- .env/production/database
- .env/production/web
redis:
image: redis
database:
image: postgres
env_file:
- .env/production/database
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:
db-migrator:
image: tenzan/myapp_web:prod
command: ["./wait-for", "--timeout=300", "database:5432", "--", "bin/rails", "db:migrate"]
env_file:
- .env/production/database
- .env/production/web
deploy:
restart_policy:
condition: none
答案 0 :(得分:1)
db-migrator应该在服务之下。
您正在使用YAML文件,因此strucutre在这里很重要。
version: "3"
services:
web:
image: tenzan/myapp_web:prod
ports:
- "80:3000"
env_file:
- .env/production/database
- .env/production/web
redis:
image: redis
database:
image: postgres
env_file:
- .env/production/database
volumes:
- db_data:/var/lib/postgresql/data
db-migrator:
image: tenzan/myapp_web:prod
command: ["./wait-for", "--timeout=300", "database:5432", "--", "bin/rails", "db:migrate"]
env_file:
- .env/production/database
- .env/production/web
deploy:
restart_policy:
condition: none
volumes:
db_data: