Долго искал, ответов уйма, ничего не помогает... Имеется следующий docker-compose.yml
version: '2'
services:
nginx:
build: ./docker/nginx
depends_on:
- php7
- db
volumes:
- ./app:/var/www
ports:
- "8080:80"
php7:
build: ./docker/php7
ports:
- "9000"
volumes:
- ./app:/var/www
working_dir: /var/www
environment:
XDEBUG_CONFIG: remote_host=192.168.50.75 #Подставить свой удаленный IP
PHP_IDE_CONFIG: "serverName=docker"
MYSQL_DATABASE: test200
MYSQL_ROOT_PASSWORD: root
db:
container_name: test200
build: ./docker/mysql
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: test200
MYSQL_ROOT_PASSWORD: root
volumes:
- ./docker/mysql/mysql-data:/var/lib/mysql
- ./docker/mysql/dumps:/docker-entrypoint-initdb.d
В докерфайле для mysql одна строчка: FROM mysql:latest
в папке dumps которая линкуется с контейнером лежит простой sql файл:
create database test;
use test;
CREATE TABLE testtab
(
id INTEGER AUTO_INCREMENT,
name TEXT,
PRIMARY KEY (id)
) COMMENT='this is my test table';
В общем проблема в том, что после запуска docker-compose up -d --build не созадётся новая тестовая БД с тестовой таблицей... Перед каждой проверкой удалял собранные контейнеры docker-compose rm -f. Прошу помощи
Upd: Вот ссылка на доку данной фичи https://hub.docker.com/_/mysql/ (ближе к низу страницы подзаголовок Initializing a fresh instance)
Сборка персонального компьютера от Artline: умный выбор для современных пользователей