docker - docker-compose.yaml 中 docker 存储库的变量
问题描述
有没有办法在里面docker-compose.yaml
为 docker 存储库名称添加一个变量?或者在图像名称之外声明存储库的任何其他方式?
我在 AWS ECR 存储库中有一些 docker 容器,并且 docker-compose 文件包含几个声明,例如:
image: <account>.dkr.ecr.<region>.amazonaws.com/<image>:latest
我只想声明一次<account>.dkr.ecr.<region>.amazonaws.com
,以尽量减少在其他帐户中部署或将图像移动到其他存储库所需的更改。
提前谢谢了!
解决方案
是的,您可以.env
在与 docker-compose.yaml 相同的文件夹中的文件中定义它
.env
ACCOUNT=myaccount
REGION=myregion
IMAGE=niceimage
VERSION=latest
docker-compose.yaml
...
image: ${ACCOUNT}.dkr.ecr.${REGION}.amazonaws.com/${IMAGE}:${VERSION}
您不需要指定 env_file = .env ,除非您需要 .env 在 docker 中的变量。
推荐阅读
- c# - Visual Studio 2019 未创建 OBJ 或 BIN 文件夹
- css - React Div 滚动绑定另一个 Div
- google-apps-script - Google 电子表格范围的屏幕截图
- three.js - 有没有办法修复类型'null'不能用作索引类型.ts(2538)
- c - 如何防止线程读取 DPDK RX 和 TX 缓冲区?
- swift - 捐赠快捷方式时的问题:无法捐赠与没有有效快捷方式类型的意图的交互
- transactions - 是否可以原子地向rabbitMQ发布两条消息?
- reactjs - html-react-parser:将 DOM 节点替换为另一个包含内部文本子节点的 DOM 节点(A-link)
- python - url_for() 不渲染子目录中的文件
- python - Keras 已安装但无法导入,因为它说找不到 keras 模块