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
まったく機能しません。何が悪いのですか?
-p 3306:3306
パラメータを設定せずにコンテナを実行したようです。また、MySQL Workbenchでホスト名のIPアドレスを誤って入力したようです。次の手順に従って、ゼロから始めることをお勧めします。
admin
を好きなように変更してください)docker run -e MYSQL_ROOT_PASSWORD=admin --name mysql -d -p=3306:3306 mysql
docker-machine ip default
これで準備は完了です。
パラメータ-P
は、コンテナのエクスポートされたポート 自動的に をホストの使用可能なポートにバインドします。
次のコマンドは、コンテナのポート3306をホストのポート3306にバインドする必要があります。参照: 公開または公開ポート
docker run -d -p 3306:3306 mysql:latest mysqldb