引用記事
docker-compose.yaml
version: '3'
services:
app:
build: ./docker
ports:
- 80:80
volumes:
- ./app:/var/www/app
working_dir: /var/www/app
db:
image: mysql:8.0
volumes:
- ./initdb.d:/docker-entrypoint-initdb.d # コンテナ作成時に実行されるsqlファイルを格納するパスをdocker-entrypoint-initdb.dにマウント
command: mysqld --character-set-server=utf8 --collation-server=utf8_unicode_ci
restart: always
ports:
- 3306:3306
environment:
MYSQL_DATABASE: image_database
MYSQL_USER: user
MYSQL_PASSWORD: pass
MYSQL_ROOT_PASSWORD: pass
Docker側にマウントしたinitdb.dディレクトリ直下のcreate_table.sqlがコンテナ生成時に実行される。
.sql
のほか、.sh
も自動的に実行される