Я нашел способ решить эту проблему. Мысль опубликует решение, так как кто-то может найти его полезным.
Во-первых, мне нужно иметь env. конкретные данные подключения к БД:
Для этого я настроил параметры в службе приложений Azure и получил их с помощью команды CLI в сценарии сборки TravisCI.
Во-вторых, мне нужно передать конфиги БД в Docker-контейнер как переменные среды. Поскольку служба приложений Azure не позволяет нам изменять команду docker run
, мы не можем передавать явные настройки среды при запуске контейнера Docker.
Итак, чтобы преодолеть это ограничение,
Я установил аргументы сборки (см. установка переменных времени сборки ) для команды сборки docker для передачи env. конкретные сведения о подключении к БД для сборки Docker.
Поскольку аргументы сборки не сохраняются в окончательном образе сборки, мне пришлось преобразовать их в переменные среды с помощью команды ENV
. См. Настройка переменных среды Docker .
Теперь параметры подключения к БД доступны как env. конфиги при запуске докера. Следовательно, при запуске Docker команда flyway migrate
может без проблем подключаться к БД.