最初に
自分がやろうと思っていたことと全く同じことをやっている方がいらっしゃいましたので、先にその方のポストを貼っておきます。
たまたま記事を見つけて、完全にかぶっとる...
と思いました。
とても有益な情報でしたので、ぜひチェックしてみてください
なお、以下は実際に自身の手元で操作したときの作業ログになります。備忘録。
構築コマンド
下記のGithubリポジトリをローカルにclone
して、下記のコマンドを打てばサンプルデータの入ったMySQLの動くDockerがローカルに動き出します
Docker Hubにもイメージが上がっているようですが、自分としては直接ソースコードを見つつ、buildしたかったので、下記のGithubリポジトリをローカルにcloneしてビルドさせていただきました。
# clone git clone https://github.com/budougumi0617/mysql-sakila.git # 今回は5.7を使用 cd mysql-sakila/5.7 # データセットアップに必要なファイルをコピーでカレントに持ってくる cp -r ../sakila-db . # イメージを一度ビルドする docker build -t sakila-data-mysql-5.7 . # docker 起動 (名前はひとまず、"sakila-data-mysql-5.7-01"にしている) docker run -d -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 --name sakila-data-mysql-5.7-01 sakila-data-mysql-5.7 mysqld
ポートは 3306
で動かすようにしています。
これで後はDBに接続するだけ。
ちなみにMYSQL_ALLOW_EMPTY_PASSWORD=yes
を指定しているのでパスワードは不要で、下記の接続内容でMySQLに繋がります
Host: 127.0.0.1 Username: root Password: (空でOK) Database: sakila Port: 3306
ちょっとハマったこと - Sequel Pro
私のメインマシンは現在macOSで、DBのクライアントにはSequel Pro
の Nightly Builds
を使っているのですが、上の接続条件でテスト接続しようとすると接続に失敗しました。
テスト接続ではなく、普通にDB接続すると正常につながるのですが、テスト接続だけが弾かれるという...そんな状態になっており、ハマりました。
追記:Sequel Proのgithub issueに似たような問題がすでに見つかっていました。
ちょっと違うけど、ここらへんも関連するのかな?