【问题标题】:Error: Additional property db-migrator is not allowed错误:不允许附加属性 db-migrator
【发布时间】:2019-03-21 02:53:33
【问题描述】:

当我运行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

【问题讨论】:

    标签: docker docker-compose docker-machine


    【解决方案1】:

    db-migrator 应该在 services 下。

    您使用的是 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:
    

    【讨论】:

    • 谢谢。刚刚注意到- .env/production/web 不在换行中,所以编辑了我的帖子。
    • 相同 :p 谢谢!
    猜你喜欢
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2021-11-18
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    相关资源
    最近更新 更多