Docker on Windows - Постоянство базы данных Wordpress - PullRequest
0 голосов
/ 18 апреля 2020

ОС хоста: 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.

Пожалуйста, сообщите.

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