ある初心者向け教材のサンプルコマンドを入力した際、コンテナが起動しなかったのでその原因について調べてみました。
打ち込んだコマンドは下記の通り。
docker run -d -p 80:80 --name myapp php:7.0-apache
そしてこんな感じのエラーメッセージが表示されました。
Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE).
80のポート番号がすでに使われていて発生したエラーらしい。
下記コマンドを入力する。
sudo lsof -i -P | grep "LISTEN"
TCP *:80 (LISTEN)と表示されるサービスがあったら停止させる。
今回は別のハンズオンで使ったnginxが生きていたので下記コマンドで止めてやりました。
sudo nginx -s stop
これで最初のコマンドが通ります。