docker-proxy在没有容器运行时使用port

klh5stk1  于 2023-10-16  发布在  Docker
关注(0)|答案(6)|浏览(136)

在ubunty 1404机器上,docker-proxy使用的是6379端口,但是没有运行docker容器。

$ sudo netstat -tulpn | grep docker    
tcp6       0      0 :::6379                 :::*                    LISTEN      28438/docker-proxy
tcp6       0      0 :::2376                 :::*                    LISTEN      28266/dockerd
$ docker ps -all
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS       PORTS               NAMES
$

在我停止docker服务后,这个过程就消失了,那个端口是可用的,但是当我启动docker备份时,docker-proxy仍然在使用那个端口,即使没有docker容器在运行。

$ docker info
## Output:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 1.12.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 0
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null host overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: apparmor
Kernel Version: 4.2.0-38-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 31.32 GiB
Name: xxxxx
ID: LILE:5WFT:2EPL:OXCN:GZG7:C4WE:AFCX:LNAT:TBMG:XQFP:QX7W:XLYK
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 127.0.0.0/8
falq053o

falq053o1#

试试看:
sudo service docker stop sudo rm -f /var/lib/docker/network/files/local-kv.db
从这个ticket

3okqufwl

3okqufwl2#

这在Linux上对我很有效,而且不需要删除任何资源。

# Stop docker
sudo service docker stop

# Find your particular zombie proxy processes
sudo netstat -pna | grep docker-proxy
# tcp6       0      0 :::8025       :::*     LISTEN      <PID_A>/docker-proxy  
# tcp6       0      0 :::13306      :::*     LISTEN      <PID_B>/docker-proxy
# ...

# Kill them
sudo kill -9 PID_A PID_B ...

# restart
sudo service docker start
gudnpqoy

gudnpqoy3#

我用apt安装了Docker,但结果发现我用snap安装了另一个版本的Docker。

sudo snap remove docker
z6psavjg

z6psavjg4#

这可能是由于未使用的网络。请尝试以下命令,而不是删除local-kv.db文件:

docker network prune

有关详细信息,请参阅docker network prune

nfeuvbwi

nfeuvbwi5#

在我的情况下(使用Ubuntu 20.04),即使使用docker-compose down,docker-container也是“on”的。所以它使用的端口,我需要使用在我的情况下是80/tcp端口。
什么对我起作用:

  1. sudo ss -tulpn
  2. sudo kill + pid这是我需要使用的端口。
  3. docker-compose up -d
    只有通过这些步骤,问题才得到解决,我不知道为什么,这可能是一个错误或改变端口和启动一个新的容器解决了它。但它现在起作用了。
sg24os4d

sg24os4d6#

虽然这个问题是关于when no docker containers are running的,但在一般情况下,首先要检查

docker ps

当前正在运行的容器。
如果docker-compose start执行过一次,而docker-compose stop没有正确执行,Docker可能会在重启后自动启动容器。

相关问题