为什么停止docker容器不会';t关闭打开的端口以及如何关闭它们?

为什么停止docker容器不会';t关闭打开的端口以及如何关闭它们?,docker,influxdb,Docker,Influxdb,我发现如果我们停下来取下容器 sudo docker run-d--除非停止否则重新启动--name=influxdb-p8083:8083-p8086:8086-p“25826:25826/udp”-v$PWD:/var/lib/influxdb influxdb 港口仍然开放 sudo lsof -n -P | grep 25826 lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs

我发现如果我们停下来取下容器

sudo docker run-d--除非停止否则重新启动--name=influxdb-p8083:8083-p8086:8086-p“25826:25826/udp”-v$PWD:/var/lib/influxdb influxdb

港口仍然开放

 sudo lsof -n -P | grep 25826
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
docker-pr 1340                 root    4u     IPv6              24456      0t0        UDP *:25826 
docker-pr 1340 1349            root    4u     IPv6              24456      0t0        UDP *:25826 
docker-pr 1340 1350            root    4u     IPv6              24456      0t0        UDP *:25826 
docker-pr 1340 1354            root    4u     IPv6              24456      0t0        UDP *:25826 
docker-pr 1340 1355            root    4u     IPv6              24456      0t0        UDP *:25826 
docker-pr 1340 1358            root    4u     IPv6              24456      0t0        UDP *:25826 
端口
8083

$ sudo lsof -n -P | grep 8083
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
docker-pr 1415                 root    4u     IPv6              25306      0t0        TCP *:8083 (LISTEN)
docker-pr 1415 1418            root    4u     IPv6              25306      0t0        TCP *:8083 (LISTEN)
docker-pr 1415 1419            root    4u     IPv6              25306      0t0        TCP *:8083 (LISTEN)
docker-pr 1415 1420            root    4u     IPv6              25306      0t0        TCP *:8083 (LISTEN)
docker-pr 1415 1421            root    4u     IPv6              25306      0t0        TCP *:8083 (LISTEN)
和8086端口

$ sudo lsof -n -P | grep 8086
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
docker-pr 1373                 root    4u     IPv6              25260      0t0        TCP *:8086 (LISTEN)
docker-pr 1373 1374            root    4u     IPv6              25260      0t0        TCP *:8086 (LISTEN)
docker-pr 1373 1375            root    4u     IPv6              25260      0t0        TCP *:8086 (LISTEN)
docker-pr 1373 1376            root    4u     IPv6              25260      0t0        TCP *:8086 (LISTEN)
docker-pr 1373 1380            root    4u     IPv6              25260      0t0        TCP *:8086 (LISTEN)
docker-pr 1373 1383            root    4u     IPv6              25260      0t0        TCP *:8086 (LISTEN)

我观察到预期的行为:在运行时使用;停止时不再使用

运行后:

ss--listening--processs | egrep“(808[36])|(25826)”| wc--line
3.
码头集装箱站
流入xDB
ss——倾听——处理| egrep“(808[36])|(25826)”| wc——行
0

您确信您正确停止了容器吗?

我运行了这个命令
$sudo docker run-d--除非停止否则重新启动--name=influxdb-p 8083:8083-p 8086:8086-p“25826:25826/udp”-v$PWD:/var/lib/influxdb influxdb-config influxdb.conf
并获得错误
8f118d0095c4ea4b1364889eabac3122c2c65e7f18310a071037a90aae328129 docker:守护进程的错误响应:驱动程序未能在端点influxdb绑定上为0.0.0:25826编程外部连接失败:端口已分配。
然后我运行了您的命令预期端口应该是打开的
ss--listening--processs | egrep“(808[36])|(25826)”| wc--lines
,但我得到了0Curious。您应该能够使用
ss--udp--listening--processs | grep 25826
然后
ps-p[PID]
获取该端口的进程