Dockerで起動しているMysqlをローカルディレクトリにリンクすると開発(運用)効率が上がる件

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

データベースの管理って大変です。
 

Docker管理でMysqlを別コンテナで運用している時に、データをコンテナ内に置いておくと、なかなかのブラックボックス運用に成りかねません。
 

そこで、データ部分をローカルOS(macやwin)のシンボリックリンクにしてしまうことで、チーム内でのデータの受け渡しなどが簡単にできる方法でかなりの効率化ができたので、その手順を共有します。

1. dockerにmysqlをpullする(image)

 

Mysql8.0がインストールされます。(2019/7/4現在)

2. dockerを起動してみる(確認用)

 

無事にUPされてます。

3. mysqlデータフォルダを作成

僕のルールで、自分アカウントのrootディレクトリに作っておくことで、アクセスも簡単にでき、データ管理も可視化できるので、”~/mysql”というディレクトリを作成しておくことにします。
※windowはpowershellで操作してください。
 

4. docker機能コマンドをmysqlフォルダにリンクさせる

 

問題なく起動できたら、先程作ったmysqlフォルダを見てみましょう。
 


 

こんな感じでデータが作成されていれば成功です。

運用について

create database ***;
という風に、データベースを作成してみると、このデータの中に、そのデータベース名のフォルダが作成されることが見ていてよく分かります。
 

データベースの簡易にバックアップを取りたければ、このフォルダやデータベースフォルダを圧縮やコピーしておくことで簡単に管理することもできるし、他の人に受け渡すのもかなり簡易にできます。
 

また、dockerを終了しても、このデータは消えないので、docker-commitをしなくても、データや構成が消えることはありません。
 

これだけでも、運用効率があがりますよね。
 

他にもプログラム部分もシンボリック化して、自分のPCをカスタマイズしておくと、非常に早い開発を行うことが可能になりますよ。
 

あくまで開発環境での話なので、本番環境には何にも役にたたないお話でした・・・

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です