MySQLワークベンチをMySQLコンテナーに接続する


9

DockerhubからMySQLコンテナーをプルし、次のように私のMacbook Proで実行しています。

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
12cd3deaa3f0        mysql:latest        "/entrypoint.sh mysql"   47 hours ago        Up 10 minutes       3306/tcp            mysqldb

次に、MySQLワークベンチをダウンロードし、それをMySQLコンテナーに接続しようとしましたが、機能しません。接続エラーが表示されます。

Your connection attempt failed for user 'root' from your host to server at 192.168.99.102:3306:
Can't connect to MySQL server on '192.168.99.102' (60)

DockerマシンからのIPは

docker-machine ip default
192.168.99.100

上記のように、MySQLからのポートは3306です。

MySQLポートをエクスポートするために、私はステートメントで試しました

docker run -d -P mysql:latest mysqldb

まったく機能しません。何が悪いのですか?

回答:


9

-p 3306:3306パラメータを設定せずにコンテナを実行したようです。また、MySQL Workbenchでホスト名のIPアドレスを誤って入力したようです。次の手順に従って、ゼロから始めることをお勧めします。

  1. mysqlサーバーを実行します。(パスワードadminを自由に変更してください)

docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql

  1. 次のコマンドを実行して、デフォルトのDocker仮想マシンのIPアドレスを取得します

docker-machine ip default

  1. 前のコマンドの結果として取得するIPアドレスをコピーします。(あなたの場合、それは192.168.99.100であるべきです)
  2. MySQL Workbenchを開き、新しい接続を作成します。コピーしたIPアドレスを「ホスト名」フィールドに貼り付けます。

これで準備は完了です。


1

このパラメーター-Pは、コンテナーのエクスポートされたポートをホストの使用可能なポートに自動的にバインドします。

次のコマンドは、コンテナのポート3306をホストのポート3306にバインドする必要があります。参照:ポートの公開または公開

docker run -d -p 3306:3306 mysql:latest mysqldb

ステートメントを入力して、docker run -d -p 3306:3306 mysql:5.7.9 dbmysql出力として取得しましたd38a0f208bcda50132d7f6f679c9282b0d90b275610b8d19ac93bf82d94eea43が、mysqlワークベンチでmysqlコンテナーにアクセスできません。私はドッキングウィンドウpsを入力したとき、それは私を示しd6b44992ec77 mysql:5.7.9 "/entrypoint.sh mysql" About a minute ago Up About a minute 3306/tcp dbmysql
zero_coding
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.