ホームページ > データベース > mysql チュートリアル > ホスト マシンから Docker 化された MySQL インスタンスに接続するにはどうすればよいですか?

ホスト マシンから Docker 化された MySQL インスタンスに接続するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-11-29 08:39:11
オリジナル
379 人が閲覧しました

How to Connect to a Dockerized MySQL Instance from the Host Machine?

ホストから Docker コンテナ内の MySQL に接続する

問題の説明:

の場合Docker コンテナ内で実行されている MySQL データベースにホスト マシンから接続しようとすると、次のエラー メッセージが表示されます。 「ソケット '/var/run/mysqld/mysqld.sock' を介してローカル MySQL サーバーに接続できません。」

Dockerfile:

次の Dockerfile が使用されますMySQL コンテナの作成:

FROM ubuntu:14.04.3
RUN apt-get update && apt-get install -y mysql-server
RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf
EXPOSE 3306
CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
ログイン後にコピー

失敗試行:

コンテナ内で MySQL インスタンスが正常に起動したにもかかわらず、mysql -P 12345 -uroot を使用してホストからインスタンスに接続すると、ソケット エラーが発生します。

解決策:

Docker コンテナ内で実行されている MySQL データベースに接続するには、

  1. ホスト アドレスを「localhost」として指定します。
  2. Docker MySQL インスタンスがリッスンしているポート (デフォルトでは 3306) を指定します。
  3. Docker MySQL インスタンスには Unix 経由でアクセスできないため、プロトコルを「tcp」に設定しますソケット。

ホスト接続のコマンド:

mysql -h localhost -P 3306 --protocol=tcp -u root
ログイン後にコピー

ポートの変更:

異なる場合ポートは、Docker コンテナ内で MySQL インスタンスを公開するために使用されます (例: 12345)。接続コマンドでも指定する必要があります:

mysql -h localhost -P 12345 --protocol=tcp -u root
ログイン後にコピー

以上がホスト マシンから Docker 化された MySQL インスタンスに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート