データ同期
mariadb:
image: mariadb:latest
container_name: mariadb
# データファイルの同期。予めコンテナ内のファイルをホストディレクトリに保存しておくこと
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=hogehogehiihaaa
- MYSQL_ROOT_USER=hogeeeeeaaann
- MYSQL_USER=fd3s
- MYSQL_PASSWORD=hyahyuuuuuuuuu
- MYSQL_DATABASE=initialbbbbbbbbbbb
- TZ=Asia/Tokyo
ports:
- "6000:3306"
expose:
- "6000"
# コンテナ起動確認
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized" ]
interval: 20s
retries: 3
timeout: 120s
まず、最初にコンテナを作成してデータファイルの同期をとらないとコンテナを停止して起動する度にデータが消えます。
正確には、ホストを再起動してコンテナ起動した場合にデータが飛んで慌てることになります。
Dockerはボリュームの同期をとる場合は予めホスト側のディレクトリにファイルがないと失敗します。
次のコマンドでコンテナからMariaDBのデータファイルをホストのディレクトリにコピーします。
コンテナIDは「docker ps」ででてくるよ。
名前がmysqlじゃねーかって突っ込みはMariaDBができた歴史を知っていれば分かるかと(;'∀')
しかしOracleは最近は完全に大企業向けデータベースになってしまったなあ。