趣味でMySQL8.0を使って、業務で5.7を使って...とローカルのMySQLの再インストールを繰り返していて、アホらしくなったのでコンテナでサクッと確認できる環境を作る。
(docker-compose で各環境は用意されていたが、お試し的に使う環境が欲しかった)
Dockerコンテナ、ボリュームの作成
$ docker volume create db_storage
$ docker run -d --name db_container -e MYSQL_DATABASE=db_name -e MYSQL_ROOT_PASSWORD=root -v db_storage:/var/lib/mysql -p 3305:3306 mysql:5.7
MySQL8.0を使いたい時は最後のイメージ名の指定を mysql:8.0
に変える
ポート番号はデフォルトだと何かと被るのであえて変えてます。
Dockerコンテナ、ボリュームの確認
$ docker volume ls
DRIVER VOLUME NAME
local db_storage
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8f4893883bd6 mysql "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 33060/tcp, 0.0.0.0:3305->3306/tcp db_container
作成したコンテナとボリュームが表示されればok。
表示されない場合は、コンテナの起動時にエラーになってると思うのでコンテナログを確認してみてください。
$ docker logs db_container
MySQL接続
Sequel Ace を使うのがお手軽感あります。
https://apps.apple.com/us/app/sequel-ace/id1518036000
- Host:
127.0.0.1
- Username:
root
- Passwor:
root
- Database:
db_name
- Port:
3305
Dockerコンテナ、ボリュームの破棄
使わなくなったら、下記のコマンドで簡単に削除できます。
$ docker rm -f db_container
$ docker volume rm db_storage
何度も再インストールを繰り返してローカルDBが起動しない問題に悩まされなくなって快適です🥰