【问题标题】:Find out what is running on my port 80 on a Mac OSX找出在 Mac OSX 上的端口 80 上运行的内容
【发布时间】:2018-11-16 14:51:12
【问题描述】:

我正在尝试启动一个 hello-world 容器应用程序,该应用程序是我在 Mac OS X 上使用 nodejs 构建的。

docker run -p 80:80 --name web -d node-hello

343503e8a29ac207c821caa7990373580dd6a1951e1e4936bbf9c71b0eff2213
docker: Error response from daemon: driver failed programming external connectivity on endpoint web (e6035cf3ae4df37f1a96a5a7ed321e6a0ae7ad484c05aae8d7b67f3d86fa3a76): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE). 

调试步骤

我去了地址

我跑了这个

lsof -i ":80"

得到了

COMMAND   PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google    956 bheng  225u  IPv6 0x5bed1c283af57fa7      0t0  TCP [2607:f518:15e:9540:3105:c54f:bd3c:14ed]:63120->yul02s04-in-x10.1e100.net:http (ESTABLISHED)


(netstat -an | grep LISTEN | grep 80) 
tcp4       0      0  127.0.0.1.4380         *.*                    LISTEN                                                                
tcp46      0      0  *.80                   *.*                    LISTEN 

我如何知道现在在我的端口 80 上运行的是什么确切

【问题讨论】:

  • 监听端口 80 (netstat -an | grep LISTEN | grep 80)。如果是,请切换到管理员帐户并执行lsof | grep LISTEN,它将为您提供PID。
  • 你需要使用80端口吗?
  • @cricket_007 :我在帖子上留下了一个结果,但这里是另一个基于 Nic3500 评论的结果:i.imgur.com/RlyIZtk.png

标签: macos http docker


【解决方案1】:

为 lsof 加上 sudo 前缀,以查看不属于您的进程 ID。

sudo lsof -i:80

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-06-16
  • 1970-01-01
  • 2015-09-28
  • 2012-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
相关资源
最近更新 更多