Вопрос: Как настроить mysql в Docker?

Лучший ответ:
Начинаешь разрабатывать проект #1, создаешь под него каталог с двумя вложенными подкаталогами src и db
Ты уже установить docker-compose? Если нет, то сделать этого. Мой docker-compose.yml:version: '3.1'

services:
  db:
    image: mariadb:10.2
    restart: on-failure
    ports:
      - "3306:3306"
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_root_pass_here
      MYSQL_DATABASE: db_name_here
      MYSQL_USER: db_user_here
      MYSQL_PASSWORD: user_pass_here
  nginx:
    image: nginx
    restart: on-failure
    ports:
      - "80:80"
    links:
      - wordpress:php-fpm-server
    depends_on:
      - wordpress
    volumes:
      - $HOME/DDK/nginx-default.conf:/etc/nginx/conf.d/default.conf:ro
      - ./development/src:/var/www/html:ro
  wordpress:
    image: php:5.6-fpm
    restart: on-failure
    links:
      - db:mysql
    depends_on:
      - db
    expose:
      - "9000"
      - "9900"
    volumes:
      - /mnt/bindfs/fire-cacher-dv1:/var/www/html
Далее у тебя встанет проблема, файлы на твоей хостовой машине будут создаваться от пользователя www-data. Единственный вменяемый способ пофиксить это без сильных танцев с бубном - bindfs. Я использую следующую строку в fstab для монтирования:/home/user/Project/fire-cache/development/src	/mnt/bindfs/fire-cacher-dv1	fuse.bindfs	force-user=www-data,force-group=www-data,create-for-user=user,create-for-group=user,perms=0000:u+rwD:g+rD:o+rD	0	0
Все создал? ОК, запускай docker-compose up -d и останавливай после окончания работы docker-compose stop. Проект закончен? Значит docker-compose down -v
Вот это ты повторяешь каждый раз при старте нового проекта. Если есть еще какие-то вопросы по существу - пиши в комменты.

Худший ответ:
Начинаешь разрабатывать проект #1, создаешь под него каталог с двумя вложенными подкаталогами src и db
Ты уже установить docker-compose? Если нет, то сделать этого. Мой docker-compose.yml:version: '3.1'

services:
  db:
    image: mariadb:10.2
    restart: on-failure
    ports:
      - "3306:3306"
    volumes:
      - ./db:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_root_pass_here
      MYSQL_DATABASE: db_name_here
      MYSQL_USER: db_user_here
      MYSQL_PASSWORD: user_pass_here
  nginx:
    image: nginx
    restart: on-failure
    ports:
      - "80:80"
    links:
      - wordpress:php-fpm-server
    depends_on:
      - wordpress
    volumes:
      - $HOME/DDK/nginx-default.conf:/etc/nginx/conf.d/default.conf:ro
      - ./development/src:/var/www/html:ro
  wordpress:
    image: php:5.6-fpm
    restart: on-failure
    links:
      - db:mysql
    depends_on:
      - db
    expose:
      - "9000"
      - "9900"
    volumes:
      - /mnt/bindfs/fire-cacher-dv1:/var/www/html
Далее у тебя встанет проблема, файлы на твоей хостовой машине будут создаваться от пользователя www-data. Единственный вменяемый способ пофиксить это без сильных танцев с бубном - bindfs. Я использую следующую строку в fstab для монтирования:/home/user/Project/fire-cache/development/src	/mnt/bindfs/fire-cacher-dv1	fuse.bindfs	force-user=www-data,force-group=www-data,create-for-user=user,create-for-group=user,perms=0000:u+rwD:g+rD:o+rD	0	0
Все создал? ОК, запускай docker-compose up -d и останавливай после окончания работы docker-compose stop. Проект закончен? Значит docker-compose down -v
Вот это ты повторяешь каждый раз при старте нового проекта. Если есть еще какие-то вопросы по существу - пиши в комменты.