docker运行新的容器 – 所有映射端口的列表?
当运行一个新的容器时,我们指定一个端口RUN_PORT:EXPOSED_PORT
来映射主机。 如果已经使用了RUN_PORT
这将失败。
所以我的问题是如何列出所有的映射端口 – 这样我们就可以从列表中提取端口号。
PS
我使用的是Ubuntu 16.04
执行以下命令
sudo netstat -tlnp | grep ":RUN_PORT"
将RUN_PORTreplace为实际的端口以查看哪个应用程序阻止了它。
列出所有正在使用的tcp端口(用于监听)可以看到:
netstat -lnt
查看使用单个端口的内容可以使用netstat和grep来完成,或者如果您安装了lsof:
sudo lsof -i :80 # shows the process using port 80
在映射到容器内端口80的随机可用端口上启动泊坞窗容器:
docker run -p 80 -n container_name your_container
查看主机上面的命令中使用的随机端口docker(这包括它所连接的IP接口,或所有接口的默认值为0.0.0.0):
docker port container_name 80