ОС хоста: Windows 10 Home Docker: Docker Версия панели инструментов 19.xx Виртуализация включена. Hyper-V отключен. VirtualBox 6.0 использует виртуальную машину Linux по умолчанию для размещения контейнеров.
Проблема: Попытался запустить WordPress для разработки плагинов, используя Docker -Compose, и он работал просто отлично. Но я не могу поддерживать постоянство базы данных при перезагрузке виртуальной машины Linux. Каждый раз, когда по умолчанию Linux VM перезагружается, база данных mysql создается заново, и мне снова выдается страница установки Wordpress.
Вот файл docker -compose:
version: '2'
services:
wordpress:
depends_on:
- db
image: wordpress
container_name: container_dockertrial_wp
restart: always
volumes:
- "/<host_project_root_set_as_shared_folder>/src:/var/www/html"
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: dockertrial_db
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: password
ports:
- 8082:80
networks:
- back
db:
image: mysql
command: --default-authentication-plugin=mysql_native_password
container_name: container_dockertrial_db
restart: always
volumes: // Tried both of following
- "/<host_project_root_set_as_shared_folder>/db:/var/lib/mysql"
- "/<a_folder_directly_on_linux_vm>/mysql/data:/var/lib/mysql"
environment:
MYSQL_DATABASE: dockertrial_db
MYSQL_ROOT_PASSWORD: password
networks:
- back
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
container_name: container_dockertrial_phpmyadmin
restart: always
ports:
- 8083:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: password
networks:
- back
networks:
back:
Когда сопоставленный том БД:
- "/<host_project_root_set_as_shared_folder>/db:/var/lib/mysql"
Тогда MySQL не может перезапуститься со следующей ошибкой:
[Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.
[System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.0.16) initializing of server in progress as process 30
[ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.
[ERROR] [MY-013236] [Server] Newly created data directory /var/lib/mysql/ is unusable. You can safely remove it.
[ERROR] [MY-010119] [Server] Aborting
[System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.16) MySQL Community Server - GPL.
И когда сопоставленный том БД:
- "/<a_folder_directly_on_linux_vm>/mysql/data:/var/lib/mysql"
Тогда все работает нормально, но при каждой перезагрузке база данных mysql воссоздается и становится пустой, и появляется страница установки WordPress.
Пожалуйста, сообщите.