Не удается запустить mariaDB Docker при установке определенного каталога - PullRequest
0 голосов
/ 11 октября 2018

У меня очень странная ситуация.Когда я запускаю контейнер mariaDB, используя один каталог, он застревает в «Инициализации базы данных»:

$ docker run --name some-mariadb -v /mnt/data/msb/newsystem/db:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -p 3306:3306 mariadb:10.3
Initializing database

Он остается там навсегда, он не движется вперед и не умирает.Обратите внимание, что / mnt / data монтирует / dev / sdb1, который хотя и является другим жестким диском, но находится на том же компьютере и не является съемным носителем или чем-то еще.Я не знаю, связано ли это, это не имеет смысла для меня.

Если, с другой стороны, я запускаю его на другом каталоге, все работает:

$ docker run --name some-mariadb -v /home/msb/work/tmpdb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret -p 3306:3306 mariadb:10.3
Initializing database


PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
....

Это работает довольно быстро, в течение нескольких секунд.Насколько я мог проверить, оба директора имеют одного и того же владельца и разрешения.Мой вопрос: почему он висит в первом случае?Как я могу это отладить?

Я новичок в докере и в mariaDB, хотя и не новичок в mysql.Я смог заставить его работать, используя нужный мне каталог, выполнив следующие действия:

  1. создать контейнер в каталоге, который работает
  2. остановить контейнер (закрыть базу данных)
  3. скопировать все файлы из каталога, который я не хочу использовать, в каталог, который я хочу использовать (очевидно, с сохранением разрешений и атрибутов)
  4. удалить контейнер
  5. создайте новый контейнер, используя каталог, который я хочу использовать

Поскольку БД уже была инициализирована, все работало нормально, она запускала БД, как если бы она не была новой.Но меня очень заинтриговало, почему это не сработало сразу с использованием нужного каталога, и я верю, что понимание поможет мне понять, как работает докер.

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