1

我有一个 docker-compose 文件,其中包含我的数据库的秘密。

port: 4466
managementApiSecret: ${DB_SECRET}

所以我想使用 Docker-Compose 的变量替换(https://docs.docker.com/compose/compose-file/#variable-substitution)能够通过环境变量而不是我的 yaml 文件来提供我的秘密。

在我的 Azure Linux Docker 实例上使用“应用程序设置”变量是否有可能?

它似乎对我不起作用,我尝试了 ${VAR} 和 $VAR 语法,但都没有奏效。我还尝试了只包含字母数字和数字的秘密。

提前致谢。坦率

4

1 回答 1

1

启动容器所需的环境变量(例如:您希望在容器名称中包含内部版本号)可以添加到与 docker-compose.yml 文件位于同一目录的 .env 文件中。

示例 .env 文件:

DB_SECRET=foo

运行:docker-compose config 并验证变量是否已替换为 .env 文件中的值

另外,我建议managementApiSecret:"${DB_SECRET}"在 docker-compose.yml 文件中使用(注意变量周围的引号)

可能有天蓝色的特定方式来分享秘密,但我还没有尝试过。

如果你想传入容器需要的环境变量,那么https://docs.docker.com/compose/compose-file/#env_file就是你想要的。这些环境变量将成为 docker 容器内环境的一部分。

于 2018-09-11T14:28:32.890 回答