有两篇文章描述了如何使用环境变量,但是我的用例有所不同。
我有docker-compose文件,其中有3-7个容器。视情况而定。
version: '2'
services:
db:
image: example/db
backend:
image: example/server
frontend:
image: example/gui
现在,在上面的示例中,我所有的映像都将使用最新版本,但是我想控制要部署的版本,因此我想定义一些可变版本,并在我的所有映像中使用它,例如:
version: '2'
variable version=1.0.1
services:
db:
image: example/db:$version
backend:
image: example/server:$version
frontend:
image: example/gui:$version
第二个示例是错误的,但它表明我需要实现我的目标
答案 0 :(得分:1)
在与docker-compose.yml
相同的目录中,添加一个名为.env
的环境文件,然后指定您的环境变量。
然后,将变量添加到您的docker-compose.yml
${..}
代表.env
中的变量
答案 1 :(得分:1)
Docker-compose对变量使用了插值语法${variable}
,但是您在文件中错过了它。
version: '2'
services:
db:
image: example/db:${version}
backend:
image: example/server:${version}
frontend:
image: example/gui:${version}
因此只需将版本传递给您的docker-compose
命令
version=1.13-alpine docker-compose up