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