mysqlコンテナを動かす
けっこう~~呪文が長い:-)~~オプションが長いので、 用意したスクリプトを実行するのがよいでしょう
実行例: 04_docker/04-02_mysql/scripts ディレクトリに移動し run.sh スクリプトを実行する
cd 04_docker/04-02_mysql/scripts
sh run.sh
(いちおう書いておくと)つぎのように実行しています
docker run -d \
--rm \
--name=mysql \
-p 3306:3306 \
-v ${MYSQL_DIR}:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=1qaz2wsx \
-e MYSQL_ROOT_HOST=% \
-e MYSQL_DATABASE=test \
mysql/mysql-server
スクリプトの中でMYSQL_DIR変数は/var/tmp/os-exercise/mysqlと設定していて、 このディレクトリが存在しない場合、 そのディレクトリを作成後にdocker runしています。
注意: このディレクトリは、 あとで作る3つのコンテナを連携させたシステムで使うディレクトリとは別にしてあります
確認
そもそもコンテナが動いているか?を確認するには
docker ps
して、mysql コンテナが動いていることを確認します
実際にアクセスしてみると良いのですが、 少し準備が必要なので、今回は docker ps で mysql コンテナが動いていることだけ確認しておけばよいことにしましょう。 ちなみに mysql 8 のクライアントをインストールして動作確認する方法は、 こちらの付録をどうぞ。 ちなみに、アクセス先は次のとおりです
- 127.0.0.1 の 3306/tcp へ
- ユーザ root
- パスワード 1qaz2wsx
停止
docker stop mysql
参考資料
- mysql公式のgithub
- mysqlコンテナのソース
mysqlコンテナによる冗長構成方法は、このサイトのソースコードを見てください
- mysqlコンテナのソース
- docker hubのmysqlコンテナが二つありまぎらわしいです。 検索で最初に出てくる方はdocker社の作成したイメージです(しかもOfficialと書いてあります)が、 それではなくOracleのほう(mysql/mysql-server)を使ってください
- 日本MySQLユーザ会
- 参考書
- MySQL徹底入門 第4版 MySQL 8.0対応
- ISBN: 9784798161488, 翔泳社(2020)
- ユーザ会入魂?の本、動作解説も多く、なかなかマニアックでよろしい
(かたやPostgreSQL徹底入門は、この本にくらべて、やるきが感じられない … 開発者の人監修だけど)
- MySQL徹底入門 第4版 MySQL 8.0対応