有两篇文章描述了环境变量的使用,但我的用例不同。
我有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
第二个示例是错误的,但它显示了我想要实现的需求
发布于 2019-07-09 23:29:28
在与docker-compose.yml
相同的目录中,添加一个名为.env
的环境文件,然后指定您的环境变量。
之后,将变量添加到docker-compose.yml
中
${..}
表示.env
中的一个变量
发布于 2019-07-10 01:24:38
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
https://stackoverflow.com/questions/56955878
复制相似问题