小Cの已经记不起来的博客

Docker宿主机如何查看程序运行在哪个docker上

今天好朋友的NAS发现不幸中了 XMRig 挖矿病毒...

原因出现在 OpenVSCode 页面没有做任何鉴权操作,任何人都可以直接访问...

所以还是一定要做好鉴权工作!所以还是一定要做好鉴权工作!所以还是一定要做好鉴权工作!

那么怎样通过PID查询到具体是哪个容器运行的呢?

好朋友提供的解决方案

  1. 使用 cat /proc/{pid}/cgroup 能够获取到容器ID信息, 如下

12:blkio:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
11:memory:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
10:hugetlb:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
9:cpuset:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
8:devices:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
7:net_cls,net_prio:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
6:pids:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
5:perf_event:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
4:cpu,cpuacct:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
3:rdma:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
2:freezer:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
1:name=systemd:/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b
0::/docker/bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b


2. docker/后面的 `bce034706d8fef47bda4605f3133708b7324b4de4d606c97a54e12124edfa78b` 就是dockerID信息了,取前面的12位,即 `bce034706d8f`, 使用 `docker ps | grep bce034706d8f` 就能查看到具体属于哪个docker

#### 也可以直接使用 `docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Name}}' | grep 进程的PID`

评论

还没有评论。

发表评论

提交后评论将经过自动审核,审核通过后公开展示。

未在播放