うさぎ
めちゃくちゃ急いでるときにdocker compose upができなくて焦った…
うさぎ
焦るなんてめずらしいね!なにがあったの?
うさぎ
ポートが使用できないって言われちゃって。
Docker |「Error response from daemon: Ports are not available」というエラーが出た時の対処法
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:80 -> 0.0.0.0:0: listen tcp 0.0.0.0:80: bind: address already in use
直訳
デーモンからのエラー応答。ポートは使用できません:ポートの公開 TCP 0.0.0.0:80 -> 0.0.0.0:0: listen tcp 0.0.0.0:80: bind: アドレスはすでに使用中です。
えええ。。
プロセスが開いているファイルを表示するコマンドの、lsof で調べてみる。
-i はオプション。ネットワークソケットファイルを指定することができます
今回は:80ででているのでそちらを指定
// ターミナルに入力
sudo lsof -i:80
// 実行結果
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 12345 daemon 7u IPv6 0x90...(省略)..... 0t0 TCP *:http (LISTEN)
httpd 12346 daemon 7u IPv6 0x90...(省略).....
..(省略)...
なにやらたくさんでた。確かに80つかってそう。
つかっているとことがわかったので消していこう
// ターミナルに入力
sudo kill 12345
sudo kill 12346
sudo kill (PID) なので、数字の部分はさっき調べたものを順番にいれました
その後再度docker compose up したらいけました!