我正在使用docker-compose文件,并想要向其中添加一些与Redis本身无关的ENV变量。
redis-master:
environment:
- REDIS_REPLICATION_MODE=master
- ALLOW_EMPTY_PASSWORD=yes
# Domains
- VIRTUAL_HOST=redis-master.xxx.com
- VIRTUAL_PORT=6379
ports:
- '6379:6379'
expose:
- '6379'
image: bitnami/redis:latest
但是问题是这两个ENV没有添加到Docker中: VIRTUAL_HOST和VIRTUAL_PORT
如果我喜欢的话
docker run -d -p 6379:6379 --name redis-master -e VIRTUAL_PORT=6379 --expose 6379 -e VIRTUAL_HOST=redis-master.xxx.com bitnami/redis:latest
然后我可以看到这两个ENV。为什么?有什么区别?
答案 0 :(得分:0)
我使用了您的Compose文件,可以看到ENV:
➜ ~ docker-compose up -d
prometherion_redis-master_1 is up-to-date
➜ ~ docker-compose exec redis-master sh
$ env | grep -i virtual
VIRTUAL_HOST=redis-master.xxx.com
VIRTUAL_PORT=6379
如果要确保已注入ENV:docker inspect <container_id> | jq '.[0].Config.Env'
(您需要安装jq
)