可以选择将命令行参数传递给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
。这是怎么回事 ?它从哪里来的 ?
答案 0 :(得分:0)
你希望这是:
`版本:' 2'
services:
application:
image: myregistry.com:5000/myapplication/${APP_VERSION}
links:
- mongo:mongo
- redis:redis
restart: always`
请注意,我已将:
替换为/
并设置APP_VERSION=stage:1.1