dockerとdocker-composeの両方を使用できます。たとえば、dockercomposeを使用します。
次のようなdocker-compose.ymlというファイルを作成します:
version: '3'
services:
db:
image: percona:5.7
container_name: whatever_you_want
environment:
- MYSQL_DATABASE=${DATABASE}
- MYSQL_ROOT_PASSWORD=${ROOT_PASSWORD}
- MYSQL_USER=${USER}
- MYSQL_PASSWORD=${PASSWORD}
volumes:
- ./data:/docker-entrypoint-initdb.d
ports:
- "3306:3306"
さらに、./data
の下にファイルが必要です 実行するSQLコマンドと.env
を使用します docker-compose.yml
で使用した環境変数を定義するファイル 上記のファイル:${DATABASE}
.env
ファイル:
# MySQL
DATABASE=db_name_here
ROOT_USER=root
ROOT_PASSWORD=root
USER=dev
PASSWORD=dev
./data/init.sql
を実行するSQLコマンドを含むファイル (ファイルには任意の名前を付けることができます)
CREATE DATABASE 'whatever';
DROP DATABASE 'whatever';
-- you can do whatever you want here
このファイルは、実行するたびに実行されます:
docker-compose up -d db