問題:
コンテナ内で実行されている MySQL インスタンスに接続したいと考えています。ホスト マシンから Docker コンテナをダウンロードしましたが、ソケットに関連するエラーが発生しました
Dockerfile には次の変更が含まれます:
成功したコマンド シーケンス:
コンテナ内からの接続:
コンテナ内に入ると、mysql -u root
を使用して MySQL に正常に接続できます。ホストからの試行が失敗しましたマシン:
mysql -P 12345 -uroot を使用してホストから接続しようとすると、ソケット経由で MySQL に接続できないことを示すエラーが表示されます。
ホスト マシンから Docker コンテナ内の MySQL インスタンスに接続するには、次のコマンドを使用します。コマンド:
mysql -h localhost -P 3306 --protocol=tcp -u root
3306 を、Docker コンテナから転送したポート番号 (この場合は 12345) に置き換えます。
説明:
MySQL は Docker コンテナ内で実行されているため、ソケット接続は利用できません。 mysql コマンドで「--protocol=tcp」を設定すると、代わりに TCP 経由で接続するように指定できます。
以上がホスト マシンから MySQL Docker コンテナに接続するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。