雷って幻想的だよね?

宗教:C#、ラノベ好きの戯言です。※Google Analytics 埋め込みを利用しています。

Docker MySQL docker-composeでの実行と、バックアップとリストア

参考にしたサイト:
https://qiita.com/A-Kira/items/f401aea261693c395966

動作確認:

Windows10 Pro build 17763
docker -v :Docker version 18.09.2, build 6247962
docker-compose -v:docker-compose version 1.23.2, build 1110ad01

docker-compose.ymlの中身
${}は環境変数Windowsはシステムからの設定、Linuxは.evn)

version: '3'
services:
# MySQL
db:
image: mysql:5.7
container_name: db_host
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD_SETTING}
MYSQL_DATABASE: ${MYSQL_DATABASE_SETTING}
MYSQL_USER: ${MYSQL_USER_SETTING}
MYSQL_PASSWORD: ${MYSQL_PASSWORD_SETTING}
TZ: 'Asia/Tokyo'
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
volumes:
- ./docker/db/data:/var/lib/mysql
ports:
- 3306:3306
# phpMyAdmin
phpmyadmin:
container_name: php
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOSTS=db_host
- PMA_USER=root
- PMA_PASSWORD=${MYSQL_ROOT_PASSWORD_SETTING}
ports:
- 8080:80

docker起動
※docker-compose.ymlがあるフォルダに移動していること

docker-compose up -d
# 確認する際は、「-d」なしで実行する

MySQLのダンプを復元

docker cp .\db_host.sql db_host:/tmp/dump.sql
docker exec -it db_host bash
mysql -u root -p < /tmp/dump.sql

MySQLのダンプを作成

docker exec -it db_host bash
mysqldump --databases rairairai -uroot -p > dump.sql
exit
docker cp db_host:dump.sql dump.sql

※shで完結できないかなぁ…

dockerの終了

docker-compose down -v