среда docker-compose отличается от Docker -e - PullRequest
0 голосов
/ 20 декабря 2018

Я использую файл docker-compose и хочу добавить в него некоторые переменные ENV, которые не связаны с самим redis.

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.Зачем?В чем разница?

1 Ответ

0 голосов
/ 20 декабря 2018

Я использовал ваш файл 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 установлено)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...