用netstat查看侦听端口的时候,往往都是看到一个docker-proxy的进程,还不能具体获知是哪个container占用了这个端口。要知道具体哪个进程占用了端口,可以
一、用docker ps命令查看所有运行中的container,留意其中的PORTS一列,看每个容器的端口映射情况
二、用netstat -lp,查出占用端口的docker-proxy进程号
[root@localhost ~]# netstat -lnp | grep 3307
tcp 0 0 :::3307 :::* LISTEN 1465/docker-proxy
然后用ps -Af,查到docker-proxy的启动命令,知道container的ip
[root@localhost ~]# ps -Af | grep 1465
root 1465 1329 0 08:46 ? 00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3307 -container-ip 172.17.0.1 -container-port 3306
最后用docker inspect <container id> | grep "IPAddress",找到是哪个docker
[root@localhost ~]# docker inspect redmine_mysql | grep IPAddr
"IPAddress": "172.17.0.1",
"SecondaryIPAddresses": null,
网友评论