當我在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
成功解決這次被佔用問題!