Здравствуйте.
Контейнер MySQL 5.6, крутится на Linux Mint 20
Всех настроек там две строчки в Dockerfile:
FROM mysql:5.6
RUN usermod -u 1000 mysql && groupmod -g 1000 mysql
После импорта большой базы (15 Гб), старт контейнера занимает несколько минут, все это время работает не переставая жесткий диск.
Памяти достаточно, винт SSD.
Пробовал MariaDB 10.5 - результат тот же.
То есть с пустой базой стартует мгновенно. Потом импорт, перезапуск и запускается несколько минут.
Что он делает все это время ?
Можно ли ускорить запуск ?
И снова здравствуйте ©.
После продолжительного гугления и запуска docker-compose с флагом --verbose выяснилось следующее:
У меня структура папок была такая:
/.docker/mysql/mysql-data/файлы_папки_данных (те самые 15Гб)
/.docker/mysql/Dockerfile
Соответственно /.docker/mysql/mysql-data подключалась через volumes в docker-compose.yml
При запуске контейнера все, что было в папке рядом с Dockerfile пересылалось docker daemon.
Если по-английски, то с одного из ответов в гугле:
"The Docker client sends the entire "build context" to the Docker daemon."
Есть разные варианты решения, но я выбрал вынос папки с данными выше папки с Dockerfile.
Теперь старт происходит практически мгновенно.