Docker - 查看容器进程在宿主机的 PID

时间:2022-06-18 23:39:39
  1. 概述

    1. 查看 docker 进程, 在容器外的 pid
  2. 背景

    1. docker 中运行的进程, 本质上是运行在 host 上的
    2. 这些进程, 在 host 上, 也可以有自己的 pid
    3. 如果某种情况下, 连不上 docker 了, 可以直接通过 host, 把对应的 进程 干掉
  3. 环境

    1. os
      1. CentOS7
    2. docker
      1. 版本
        1. 18.09
      2. 容器
        1. 有一个 docker 容器, 正在运行

1. 方法1: docker container top

  1. 命令

    > docker container top <container>

2. 方法2: docker container inspect

  1. 命令

    > docker inspect -f '{{.State.Pid}}' <container>

3. 方法3: 直接查看

  1. 准备

    1. 确认容器 id
  2. 命令

    # 只要有 容器id, 可以在 docker daemon无法启动的情况下, 确认 pid
    > cat /sys/fs/cgroup/memory/docker/<containerId>/cgroup.procs

ps

  1. ref

    1. 在docker宿主机上查找指定容器内运行的所有进程的PID
  2. cgroup

    1. docker 的底层原理, 就是这个东西
    2. 有空 学习一下...