docker ps 显示容器已启动但是 docker exec 显示它没有运行

问题描述

背景信息:我的k8s集群出了点问题,而且kube-apiserver得到了etcd的healthz状态错误,所以我想知道为什么。所以我只是想执行到etcd容器。我终于知道没有足够的磁盘空间(仅1G)。

但是为什么 docker ps 显示此容器正在运行。但是 docker exec 告诉我它没有运行。

# curl -k https://127.0.0.1:6443/healthz
...
[-]etcd Failed: reason withheld
...
healthz check Failed

enter image description here

这里是码头信息显示

# docker info
Client:
 Debug Mode: false

Server:
 Containers: 37
  Running: 25
  Paused: 0
  Stopped: 12
 Images: 13
 Server Version: 19.03.11
 Storage Driver: overlay2
  backing Filesystem: xfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: systemd
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1062.12.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 cpus: 4
 Total Memory: 15.67GiB
 Name: fp-2
 ID: ZBZW:QSKA:RAO6:NDF6:6BNC:WH3S:GSHO:OT5T:XWYX:WLZF:OJQ5:YA4O
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  192.168.1.111
  192.168.1.52
  127.0.0.0/8
 Registry Mirrors:
  https://system.mirror.aliyuncs.com/
 Live Restore Enabled: true


最终的解决方案是重启docker服务,它可以工作。但是为什么呢?是bug还是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)