记录一个与容器1号进程有关的问题

浏览器访问服务 502 发现服务挂了 但是 docker 状态看起来还正常着服务跑在 Docker 容器里面
启动方式为:shell (pid -> 1) -> java ( pid != 1)

  1. docker ps 能看见xxx的 STATUS 为 Up 4 days
  2. docker top xxx 显示出来无进程
  3. docker exec -it xxx bash 显示 cannot exec in a stopped state: unknown

docker logs 能看见日志 可以看见最后一行日志为 killed
docker stop 需要等待一段时间才能结束

Docker 版本:Docker Engine - Community 20.10.1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# ubuntu @ ucloud-hk in ~ [10:55:49]
$ docker version
Client: Docker Engine - Community
Version:          20.10.1
API version:      1.41
Go version:        go1.13.15
Git commit:        831ebea
Built:            Tue Dec 15 04:34:58 2020
OS/Arch:          linux/amd64
Context:          default
Experimental:      true

Server: Docker Engine - Community
Engine:
Version:          20.10.1
API version:      1.41 (minimum version 1.12)
Go version:      go1.13.15
Git commit:      f001486
Built:            Tue Dec 15 04:32:52 2020
OS/Arch:          linux/amd64
Experimental:    false
containerd:
Version:          1.4.3
GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version:          1.0.0-rc92
GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

https://blog.csdn.net/zhangjikuan/article/details/114702299

Kubernetes 如何关闭一个 Pod

本文主要求证一个问题:Pod 生命周期中执行 preStop 的时长是否计入 terminationGracePeriodSeconds 中。这个问题在 https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-ter
阅读更多