我有一个docker-compose文件,可以启动6个不同的微服务。我们的docker-repository的设置方式阻止了'latest'标签的使用,所以我在寻找一种方法来运行脚本,然后docker-compose拉出微服务图像,这将设置docker-compose范围内的环境变量.yml文件。
version: '3'
services:
#Service 1
svc1:
image: some-snapshot.docker.privaterepo.com/some-service:${LATEST_SVC_TAG}
container_name: service1
ports:
- "8080:8080"
#Service 2
svc2:
image: some-snapshot.docker.privaterepo.com/some-service2:${LATEST_SVC2_TAG}
container_name: service2
ports:
- "8081:8081"
答案 0 :(得分:2)
我不确定你真的需要"脚本"。你可以运行类似的东西:
LATEST_SVC_TAG=1.1 LATEST_SVC2_TAG=2.5 docker-compose up -d
或者,您可以将它们放在本地的.env
文件中:
cat > .env <<EOF
LATEST_SVC_TAG=1.1
LATEST_SVC2_TAG=2.3
EOF
docker-compose up -d