0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

実践的Docker活用術:MySQLコンテナへのログイン方法と、一行コマンドでの簡単ログインを紹介してみた

Last updated at Posted at 2025-01-12

はじめに

前回の記事では、Go言語とDockerを活用し、簡単な環境構築を行いながらMySQLコンテナと接続する手順をまとめました。

👉 前回の記事はこちら

今回は、その続きとして、MySQLコンテナ内にログインして確認する方法を解説します。

この記事では、GoアプリケーションとMySQLが連携している環境で、コンテナ内部を探索しながら詳細を確認する手順に焦点を当てます。

この内容がどなたかの技術学習の支えになれば幸いです。

書こうと思ったきっかけ

前回の記事では内容が少し多くなりすぎてしまい、おまけとして予定していた「起動中のMySQLコンテナにログインする方法」の紹介を見送ることにしました。

そのため、今回は改めてこの内容を1本の記事として整理し、投稿することにしました。

この記事では、プログラミング言語そのものよりも、コンテナ内に入るコマンドやMySQLにログインするコマンドに焦点を当てています。

これらは定期的に復習しないと忘れがちなため、記録としてまとめることで、今後の参考になればと思っています。

Go言語とDockerの知識整理

Go言語やDockerの基礎知識については、前回の記事で詳しくまとめていますので、必要に応じてそちらをご参照ください。

また、Go言語が端末にインストールされていない場合は、初回の記事で環境構築の手順(Windows、Linux、Macそれぞれ)を解説しています。まだ環境構築が済んでいない方は、そちらを参考にしてみてください。

実際にMySQLコンテナに入ってみた

1. コンテナ一覧を確認

まず、稼働中のMySQLコンテナの名前を確認します。以下のコマンドを実行してください。

docker ps

出力例:

➜  my-go-app git:(honda-branch) ✗ docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS          PORTS                               NAMES
de1e88b61ba7   my-go-app-app   "/wait-for-it.sh db:…"   50 minutes ago   Up 30 seconds   0.0.0.0:8080->8080/tcp              go_app
2cc7a94b8c89   mysql:8.0       "docker-entrypoint.s…"   50 minutes ago   Up 30 seconds   0.0.0.0:3306->3306/tcp, 33060/tcp   mysql_db
➜  my-go-app git:(honda-branch)

ここで、mysql_db がMySQLコンテナの名前であることがわかります。この名前を使用して、次のステップでコンテナに接続します。

2. コンテナに接続

次に、MySQLコンテナ内に接続します。以下のコマンドを実行してください。

docker exec -it <コンテナ名> bash

これで、MySQLコンテナ内のシェルに入ることができます。

出力例:

➜  my-go-app git:(honda-branch) ✗ docker exec -it mysql_db bash
bash-5.1#

3. MySQLにログイン

コンテナ内のシェルで、MySQLに接続します。

mysql -u root -p

プロンプトが表示されたら、MYSQL_ROOT_PASSWORD で設定したパスワード(例:password)を入力してください。

出力例:

bash-5.1# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.40 MySQL Community Server - GPL

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

まとめ

最後まで読んでいただき、ありがとうございました!今回の記事をまとめることで、自分自身の知識を改めて体系化する良い機会となりました。

基本的なコマンドをどれだけ使いこなせるかによって作業効率が大きく変わってくると思いますので、今後も積極的に活用していきたいと思います。

次回は少し変わった内容として、Go言語で簡単に立ち上げたアプリと自宅のVirtualBox上にあるMySQLをつなげる技術検証をしてみたいと思います!

おまけ: 私がいつも使っている便利なコマンド

実は、コンテナへの接続とMySQLへのログインを一括で実行できる便利なコマンドがあります。

docker exec -it <コンテナ名> mysql -u root -p

このコマンドを使えば、1行でMySQLのシェルに直接入ることができるため、とても便利です。

ただし、少し長いので、毎回正確に覚えているわけではありません。

そのため、以下のように history コマンドや grep コマンドを使って履歴から検索し、コピペして使うことが多いです(笑)。

➜  Desktop git:(honda-branch)history | grep exec
・・・
・・・
 6727  docker exec -it mysql_db mysql -u root -p
➜  Desktop git:(honda-branch) ✗ docker exec -it mysql_db mysql -u root -p

この最強の組み合わせコマンドについては、過去の記事でも詳しくまとめていますので、ぜひ参考にしてみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?