web-dev-qa-db-ja.com

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

MySQLコンテナーを Dockerhub からプルしました。次のように、私の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
zero_coding

-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アドレスを「ホスト名」フィールドに貼り付けます。

これで準備は完了です。

9
Fikra

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

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

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