基本的なことなのかもしれないけど、個人的な備忘録としてこちらにメモしておく。
最後に書いてあるが、ホストから接続するときに個人的に少しハマったので、それに関することも含め残しておきたかった。
以下、dockerでmysql取得・起動してhostのmacから接続するまでのコマンドメモ
※なお、開発用のユーザ名なども同時に作成する前提で書いている。ユーザ名などの設定している項目については{}で記載。
# mysql取得
docker pull mysql
# docker起動
docker run --name {name} -p 3306:3306 -e MYSQL_DATABASE={database_name} -e MYSQL_USER={username} -e MYSQL_PASSWORD={password} -e MYSQL_ROOT_PASSWORD={root_password} -d mysql
# docker起動(設定ファイル読み込んで起動する場合)
docker run -v {.cnf_path}:/etc/mysql/conf.d -d --name {name} -e MYSQL_DATABASE={database_name} -e MYSQL_USER={username} -e MYSQL_PASSWORD={password} -e MYSQL_ROOT_PASSWORD={root_password} -d mysql
# host(mac)から接続 -> macにmysqlクライアントがある前提
mysql -u {username} -h localhost {database_name} --protocol=tcp -p
# -> パスワード入力してログイン
### ちなみにdocker自体に接続する場合
# docker接続
docker run --link mysqld:mysql -it --rm mysql bash
# 環境変数チェック(接続したdocker内で)
env
# mysql接続
mysql -u {username} -p{password} -h $MYSQL_PORT_3306_TCP_ADDR {database_name}
# -> パスワード入力しないでログインできる
docker runするときに-p 3306:3306を付け忘れていて、なんてホストから接続できないんだろう??と少しハマってしまっていた。