Docker端口绑定

docker ps命令给我:

 PORTS 127.0.0.1:40000->8888/tcp 

这是否意味着40000端口正忙,没有人可以使用给定的端口? 我想是这样。

如果是这样,为什么命令lsof -i :40000给我一个空的输出?

是的,这意味着127.0.0.1上的端口40000正在被转发到docker集装箱。 这并不一定意味着容器应用程序正在监听所有容器接口(0.0.0.0)上的端口8888,这是完成该连接所需的。

我能想到的三个原因: lsof -i :40000不会输出:

  1. 您没有以root身份运行lsof命令
  2. 有些东西已经杀死了用于中继这个stream量的docker-proxy进程
  3. 你在不同于你的docker主机的机器上运行lsof命令。 Docker是一个客户/服务器应用程序,通过设置$DOCKER_HOST你可以连接到远程机器来查看远程主机的状态。