почему это имеет значение? Докер / MySQL / apache2

0

я могу ячмен объяснить, что происходит, но проверить это... Я использую 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, пока фактическое приложение не пострадает от запроса?

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

Теги:
docker
apache2

1 ответ

1
Лучший ответ

В 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

  • 0
    Большое спасибо, я опробую это решение

Ещё вопросы

Сообщество Overcoder
Наверх
Меню