У меня есть док-контейнер, который я хотел бы запустить с определенным сценарием точки входа.
проблема в том, что моему сценарию точки входа требуются переменные среды, для которых я хотел бы установить значения по умолчанию.
entrypoint:
- /bin/bash
- -c
- |
set -e
java -jar liquibase.jar --driver=com.mysql.jdbc.Driver \
--classpath=mysql-connector-java-5.0.8-bin.jar \
--url="jdbc:mysql://${DB_HOST}/${DB_NAME}" --username=${DB_USER} --password=${DB_PASSWORD} \
--logLevel=warning migrate;
В моем конкретном случае я хотел бы подключиться к БД, и в большинстве случаев параметры БД существуют со значениями по умолчанию (например:
environment:
DB_USER: ${DB_USER:-root}
DB_PASSWORD: ${DB_PASSWORD:-123}
DB_HOST: ${DB_HOST:-mysql}
DB_NAME: $ {DB_NAME: -myDb})
, когда я выполняю его, я получаю следующую ошибку (по одной для каждой конфигурации):
WARNING: The DB_HOST variable is not set. Defaulting to a blank string.
знаете ли вы, почему значения по умолчанию не передаются в контейнер(при добавлении файла .env с определенным параметром все работает отлично и значения доступны при выполнении точки входа)?
почему значение по умолчанию не установлено?