[Docker] 80port被佔用。Error response from daemon: driver failed programming external connectivity on endpoint cranky_banzai(解決)

當我在docker創建containerd時, 出現被佔用訊息, 如下:

docker: Error response from daemon: driver failed programming external connectivity on endpoint cranky_banzai (6e53d887b7e49120d6eb6d061196c5f4edd36e5527a9554dfed718184081a0a2): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use.

網路上很多都是把docker restart就解決了, 如果沒解決, 可能是被其他佔用了。

執行:

netstat | grep 80

沒看到80被佔用。

netstat -tulpn | grep :80

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)

tcp6       0      0 :::80                   :::*                    LISTEN      -

看起來是有東西, 但必須使用root才能知道是什麼,切換成root後再看一次

sudo su -
netstat -tulpn | grep :80

看到是LISTEN 858230/apache2
因為我沒有在使用apache2所以我就先停掉。


sudo /etc/init.d/apache2 stop

離開root

exit

再執行一次docker run -d -p 80:80 nginx
成功解決這次被佔用問題!

發佈留言