云计算核心技术Docker:Compose中的环境变量

电子说

1.2w人已加入

描述

Compose有多个部分以一种或另一种方式处理环境变量。

在compose文件中替换环境变量,可以在外壳中使用环境变量来填充Compose文件中的值:

web:

image: “webapp:${TAG}”

如果您有多个环境变量,则可以通过提供环境变量文件的路径来替换它们。默认情况下,该docker-compose 命令将.env在您运行该命令的目录中查找一个名为的文件。通过将文件作为参数,你可以存储在任何地方,并适当命名,例如.env.ci,.env.dev,.env.prod。使用以下--env-file选项传递文件路径:

docker-compose --env-file 。/config/.env.dev up

在容器中设置环境变量

您可以使用‘environment’键在服务的容器中设置环境变量 ,就像 docker run -e VARIABLE=VALUE 。..:

web:

environment:

- DEBUG=1

将环境变量传递给容器

您可以使用‘environment’键将环境变量从外壳直接传递到服务的容器,方法是 不给它们赋值,就像使用docker run -e VARIABLE 。..:

web:

environment:

- DEBUG

所述的值DEBUG在容器变量是从值取为在其中撰写运行在壳中的相同变量。

“ env_file”配置选项

您可以使用‘env_file’选项将多个环境变量从外部文件传递到服务的容器,就像使用docker run --env-file=FILE 。..:

web:

env_file:

- web-variables.env

使用‘ -compose run’设置环境变量

与一样docker run -e,您可以使用以下命令在一次性容器中设置环境变量docker-compose run -e:

docker-compose run -e DEBUG=1 web python console.py

您也可以通过不给变量赋值来从外壳传递变量:

docker-compose run -e DEBUG web python console.py

所述的值DEBUG在容器变量是从值取为在其中撰写运行在壳中的相同变量。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分