Процесс docker-pr слушает 80 порт?

Одним прекрасным утром Вы можете поднимать проект через docker-compose в котором в том числе есть NGINX, и с удивлением увидеть ошибку

ERROR: for nginx  Cannot start service nginx: driver failed programming external connectivity on endpoint  (5c0f6f0cfff4bffb87c94581b7a030859d78e8b77602d6ea59e9bce72d158b25): Bind for 0.0.0.0:80 failed: port is already allocated

Разумеется следуюет посмотреть что за процесс занял этот порт, и сделать это можно командой, описанной здесь

sudo lsof -i :80

В результате ответ может быть, например таким:

sudo lsof -i :80
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 2817   root    4u  IPv4  39984      0t0  TCP *:http (LISTEN)
docker-pr 2824   root    4u  IPv6  36400      0t0  TCP *:http (LISTEN)
firefox   7946 tovsky   96u  IPv4 158272      0t0  TCP 192.168.1.53:52992->82.221.107.34.bc.googleusercontent.com:http (ESTABLISHED)
firefox   7946 tovsky  117u  IPv4 158273      0t0  TCP 192.168.1.53:52996->82.221.107.34.bc.googleusercontent.com:http (ESTABLISHED)

Чтобы «победить процесс»  docker-pr и освободить порт  80 — просто перезагрузим docker.

sudo service docker restart

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *