почему это имеет значение? Докер / MySQL / apache2 - PullRequest
0 голосов
/ 14 сентября 2018

я могу объяснить, что происходит, но проверить это ... я использую Docker здесь с mysql, php, apache2.

это имеет значение, если я запускаю все сразу, как это:

docker-compose up mysql apache2

или если я решу сначала запустить только mysql в окне терминала, например:

docker-compose up mysql

и в отдельном окне терминала apache2:

docker-compose up apache2

если я запускаю все сразу, много раз случается так, что я получаю следующую ошибку:

Missing Tablespace

иногда это помогает просто использовать

docker-compose down

с последующим другим

docker-compose up mysql apache2

, но в большинстве случаев ошибка постоянна.я могу избежать этой ошибки все время, запуская системы в отдельных окнах, сначала mysql - как только она запускается, я запускаю apache2.

как это может быть?У меня недостаточно знаний о докере, чтобы понять эту проблему, но я бы хотел.По моему мнению, Apache не должен общаться с MySQL, пока приложение не получит запрос?

Любой совет очень ценится - дайте мне знать, если необходима дополнительная информация

1 Ответ

0 голосов
/ 14 сентября 2018

В docker-compse.yaml есть опция, которая называется depends_on, чтобы определить порядок требований для запуска ваших услуг:

version: '3.4'
services:
  mysql:
    image: mysql:5.6
  apache2:
    image: httpd:alpine
    depends_on:
      - mysql

Затем вы должны использовать docker-compose up, чтобы запустить оба.

Ссылка: https://docs.docker.com/compose/compose-file/#depends_on

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