LoginSignup
0
0

Dockerがコンテナを起動できないエラー(ポート番号がすでに使用されている)

Posted at

os Windows

エラー内容

Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
このエラーメッセージは、ポート番号がすでに使用されているため、Dockerがコンテナを起動できないことを示しています。具体的には、MySQLコンテナがポート番号3306を使用しようとしたところ、すでに他のプロセスがこのポート番号を使用しているため、Dockerがコンテナを起動できなかったということです。

原因

正規の手順でコンテナを終了させなかったためにポートが開きっぱなしだったこと。

そもそもポートとは

コンピューターに接続された外部デバイスやネットワークとの通信を行うための仕組みです。ポートは、コンピューターのハードウェアやソフトウェアによって管理され、通信のために特定の番号が割り当てられます。イメージとしては門みたいなもの。

使用されているポートを確認する

Get-NetTCPConnection -State Listen

ポートを閉じる

Stop-Process -Id (Get-NetTCPConnection -LocalPort <ポート番号> -State Listen).OwningProcess -Force

おわりに

ポートはpcをシャットダウンすることでも閉じる。また、ポートの開きっぱなしはセキュリティ上よくない。ポートが開いている状態であれば、外部からの攻撃や不正アクセスのリスクがある。自分はあまりpcをシャットダウンしないので気を付けようと思った。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0