Docker-compose设置脚本从容器内设置环境variables

我有一个docker-compose文件,将启动6个不同的微服务。 我们的docker-repository的设置方式阻止了'latest'标签的使用,所以我正在寻找一种在docker-compose拉取微服务映像之前运行脚本的方法,这将在docker-compose的范围内设置环境variables.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" 

我不确定你真的需要“脚本”。 你可以运行如下的东西:

 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