docker - 在 docker-compose.yml 中将环境变量从一个服务传递到另一个服务
问题描述
有没有办法将环境变量从一个服务传递到 docker-compose.yml 中的另一个服务?
services:
testService:
environment:
TEST_KEY: 1234
testServiceTests:
environment:
TEST_KEY: I want to pull in the value 1234 here from service1
解决方案
不。
但是,还有一个替代方案。您可以在 Docker Compose 文件中为所有服务提供环境变量,方法是在您运行 Compose 时从您的 shell 公开它们或使用特殊.env
文件,请参阅文档。
使用这种方法,您将拥有一个全局(用于 Compose)环境变量,比如说GLOBAL_TEST_KEY
(它不需要具有不同的名称),并且您将能够在多个服务之间共享它:
services:
testService:
environment:
TEST_KEY: ${GLOBAL_TEST_KEY}
testServiceTests:
environment:
TEST_KEY: ${GLOBAL_TEST_KEY}
接着:docker-compose run -e GLOBAL_TEST_KEY="Some value" ....
或者,创建一个名为.env
并列的文件docker-compose.yaml
,在.env
:
GLOBAL_TEST_KEY="Some value"
接着:docker-compose run ...
注意无需引用
.env
,因为它默认包含
推荐阅读
- javascript - 控制刻度的 D3 点刻度
- javascript - 按下 ctrl+enter 或/和 shift+enter 时自动编号文本框
- javascript - React:移动到我的反应应用程序的特定子组件
- java - 如何使用 UserFederatedStorageProvider 在 keycloak 中获取组()
- c++ - 在 C++ 中使用指针和结构时出现问题
- excel - 计算每个人在工厂停留的时间
- java - 使用监听器更改三个 textInputlayouts 的背景颜色
- flutter - 如何在 IOS AppStore 上发布 Flutter 应用程序以及我需要存储的其他内容(例如私钥、证书密钥和配置文件)
- bash - 改进备份和恢复 bash 字典的功能
- wordpress - Buddyboss平台文档上传和子站点列表明智