基本的なことなのかもしれないけど、個人的な備忘録としてこちらにメモしておく。
最後に書いてあるが、ホストから接続するときに個人的に少しハマったので、それに関することも含め残しておきたかった。
以下、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
を付け忘れていて、なんてホストから接続できないんだろう??と少しハマってしまっていた。