【问题标题】:Docker Compose Pass ParametersDocker Compose 传递参数
【发布时间】:2018-02-12 19:53:40
【问题描述】:

可以选择将命令行参数传递给docker-compose,这样我可以更灵活地使用 docker compose 文件。但我有问题,目前还不清楚为什么会发生。所以这里是相关的 docker compose 文件docker-compose.yml

version: '2'

services:
  mongo:
    image: mongo:3.2
    restart: always
    volumes:
      - /mnt/data/mongodb/data/db:/data/db

  redis:
    image: redis:3
    restart: always

  application:
    build: .
    ports:
      - "3000:3000"
    links:
      - mongo:mongo
      - redis:redis
    restart: always

还有另一个文件docker-deploy.yml

version: '2'

services:
  application:
    image: myregistry.com:5000/myapplication:${APP_VERSION}
    links:
      - mongo:mongo
      - redis:redis
    restart: always

现在,如果我运行命令行 APP_VERSION=stage/1.1 docker-compose -f docker-compose.yml -f docker-deploy.yml pull application 以提取具有特定版本的应用程序映像,它会失败并输出

Pulling application (myregistry:5000/myapplication:stage/1.1:latest)...
ERROR: invalid reference format 

注意最后添加的latest。这是怎么回事 ?它从哪里来的 ?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    你希望这样:

    `版本:'2'

    services:
      application:
      image: myregistry.com:5000/myapplication/${APP_VERSION}
      links:
       - mongo:mongo
       - redis:redis
      restart: always`
    

    请注意,我将 : 替换为 /

    同时设置你的APP_VERSION=stage:1.1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 2021-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多