最近,我们已将Web服务器的Linux内核从3.12.57-60.35升级到3.12.62-60.62.1。
升级后,所有docker容器无法正常启动。
每次尝试启动容器时,都会创建一个全新的runc:[2:INIT]
进程并将其挂起,这将占用100%的CPU负载。
同时,容器无法启动。
runc:[2:INIT]是什么意思?
如何修复?
> docker -v
Docker version 17.04.0-ce, build 78d1802
> uname -r
3.12.74-60.64.96-default
> containerd -v
containerd version 0.2.3
> docker-runc -v
runc version spec: 1.0.0-rc2-dev
docker info
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 28
Server Version: 17.04.0-ce
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: oci runc
Default Runtime: runc
Init Binary:
containerd version: (expected: 422e31ce907fd9c3833a38d7b8fdd023e5a76e73)
runc version: N/A (expected: 9c2d8d184e5da67c95d601382adf14862e4f2228)
init version: N/A (expected: 949e6facb77383876aeff8a6944dde66b3089574)
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 3.12.74-60.64.96-default
Operating System: SUSE Linux Enterprise Server 12 SP1
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.19GiB
Name: pc23jamdevops01
ID: 5V4L:E4FT:6FYQ:JCNJ:GPKC:UZBW:O33D:PMKF:Y5X5:7T2X:GFG6
Docker Root Dir: /docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
xxxxxxx(it's masked by me.)
Live Restore Enabled: false
WARNING: No swap limit support
WARNING: No kernel memory limit support
答案 0 :(得分:2)
此时已经 2 岁了,没有答案。 OP似乎没有跟进。作为未来读者的兴趣点...
虽然我不知道是什么导致了 docker 出现问题的具体原因,但标题中的问题确实有一个具体的答案。在 Linux 中,ps 命令将显示启动进程的命令和参数。如果它不能这样做,它将显示其他有用的信息。在本例中,它显示命令 runc
,后跟进程和父进程的运行级别:
command:[run-level:parent-process]
因此,init
是父进程,进程处于运行级别 2
。
可以在 this unix.stackexchange question 及其答案/
上找到完整的详细信息