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

Gre*_*son 12 ubuntu docker

在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
$
Run Code Online (Sandbox Code Playgroud)

停止docker服务后,此过程消失,并且该端口可用,但是当我启动docker备份时,即使没有docker容器正在运行,docker-proxy仍然使用该端口.

$ 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
Run Code Online (Sandbox Code Playgroud)

Dea*_*her 12

尝试:

sudo service docker stop sudo rm -f /var/lib/docker/network/files/local-kv.db

从这张票.

  • 当然,sudo service docker start (3认同)
  • 这只会进一步破坏它:`来自守护程序的错误响应:无法重新启动容器 traefik:未找到网络 ba038962a399146089185971cf10cd11920406b3b4abeed739186db8c9cc865c` (2认同)

Ste*_*lay 10

这在 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
Run Code Online (Sandbox Code Playgroud)


小智 6

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

docker network prune
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅docker 网络修剪。


Phi*_*ego 5

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

sudo snap remove docker
Run Code Online (Sandbox Code Playgroud)