我正在尝试运行一个容器。我已经将镜像上传到私有 Docker 注册表。我想编写一个撰写文件来下载和部署映像。但我想将标签名称作为变量从 docker-compose run 命令传递。我的撰写文件如下所示。如何将 KB_DB_TAG_VERSION 的值作为 docker-compose up 命令的一部分传递?
version: '3'
services:
db:
#build: k-db
user: "1000:50"
volumes:
- /data/mysql:/var/lib/mysql
container_name: k-db
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
image: XX:$KB_DB_TAG_VERSION
image: k-db
ports:
- "3307:3306"
您有两个选择(选项2.
覆盖1.
):
-
创建.env 文件 https://docs.docker.com/compose/env-file/正如另一篇文章中已经建议的answer https://stackoverflow.com/a/49294173/3937850.
-
Prepend KEY=VALUE
对您的docker-compose
命令,例如:
KB_DB_TAG_VERSION=kb-1.3.20-v1.0.0 docker-compose up
在脚本中较早导出它也应该有效,例如:
export KB_DB_TAG_VERSION=kb-1.3.20-v1.0.0
docker-compose up
请记住,这些选项只是将环境变量传递给docker-compose.yml
文件,而不是容器。对于要实际传递到容器的环境变量,您始终需要在您的docker-compose.yml
:
environment:
- KB_DB_TAG_VERSION=$KB_DB_TAG_VERSION
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)