Деплой yii2 с помощью Docker?

Я пытаюсь развернуть проект на yii2 с помощью Docker.
У меня запускаются контейнеры, объединённые в одну сеть.
Как и в какой момент запускаются миграции?

Если я пробую запустить их при билде контейнера с yii2
RUN /www/yii migrate --interactive=0
то получаю ошибку:
Exception 'yii\db\Exception' with message 'SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known'

in /www/vendor/yiisoft/yii2/db/Connection.php:568

Потому, что при билде network еще не создана и контейнер с mysql еще не запущен.

Я пробовала писать вместо RUN ENTRYPOINT.

Но энтрипоинт выполняется, когда контейнер уже запущен.
Другие контейнеры видят, что всё запущено, и пытаются обратиться к базе, которая только начала заполняться => ошибки.

Как это реализовать?
Устанавливать в контейнер с Mysql php, запускать миграции и сносить php?
  • Вопрос задан
  • 2297 просмотров
Решения вопроса 1
planc
@planc
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы