Docker Compose Pass参数

时间:2018-02-12 19:53:40

标签: docker 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。这是怎么回事 ?它从哪里来的 ?

1 个答案:

答案 0 :(得分:0)

你希望这是:

`版本:' 2'

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

请注意,我已将:替换为/

并设置APP_VERSION=stage:1.1