🐳
'Only one usage of each socket address'? なんそれ??
環境
OS: Windows10 Home 21H1
Docker Desktop 4.3.2
Docker Compose: v2.2.1
何が起きたのか
いつも通り
$ docker-compose up -d
しただけなんです。そうしたら
ERROR: for db Cannot start service db: Ports are not available: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted
は?それってさぁ!
3306のポートが使えないよ。すでに使われてるからね
…ってコト!?
調べてみた
$ netstat -nao | findstr "3306"
でポート番号 3306 のプロセスを調べることができる。すると
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 4780
TCP [::]:3306 [::]:0 LISTENING 4780
ほう。つまり PID が 4780 のプロセスがコンテナの起動を阻害してるわけね。ふーん
PID4780
タスクマネージャーでPIDは調べられる。
タスクマネージャーの"詳細"タブからPIDをソートして、3306 を探す。
名前 | PID | 状態 | …
mysqld.exe | 4780 | 実行中 | …
mysqld.exe 君さぁ
最後に
タスクマネージャー君から強制的に切ったけど根本的解決にはなってない気がする。方法探さないと(-_-;)
Discussion