У меня есть два контейнера webinterface
и db
, в то время как webinterface
запускается с помощью --link
вариант (для db
), который генерирует переменные окруженияКак динамически устанавливать переменные среды связанных контейнеров?
DB_PORT_1111_TCP=tcp://172.17.0.5:5432
DB_PORT_1111_TCP_PROTO=tcp
DB_PORT_1111_TCP_PORT=1111
DB_PORT_1111_TCP_ADDR=172.17.0.5
...
Теперь мой webinterface
контейнер использует в Dockerfile
, где некоторые статические переменные среды определяются для определения соединение:
Зная, что есть также -e
вариант для docker run
, про я проблема в том, что я хочу использовать эти переменные в Dockerfile
(используется в некоторых сценариях), но перезаписать их значения, полученных с помощью опции --link
, то есть что-то вроде:
docker run -d -e DB_HOST=$DB_PORT_1111_TCP_ADDR
Это будет использовать определенные переменные окружения хозяина, который здесь не работает. Есть ли способ справиться с этим?
, когда вы используете обновления док-станции флага /link/etc/hosts - можете ли вы просто ссылаться на DB_HOST на имя хоста? – Jimmy
Что происходит при попытке запуска docker -d -e DB_HOST = "$ DB_PORT" _1111_TCP_ADDR – booyaa
@jimmy: это только для имени хоста –