【发布时间】: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