首页 > 解决方案 > 错误:不允许附加属性 db-migrator

问题描述

当我跑步时docker stack deploy -c docker-stack.yml myapp

我收到错误消息:

db-migrator 不允许附加属性 db-migrator

码头工人堆栈.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

标签: dockerdocker-composedocker-machine

解决方案


db-migrator 应该在服务下。

您正在使用 YAML 文件,并且结构在这里很重要。

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:

推荐阅读