ps命令在docker容器中不起作用

时间:2014-11-17 21:26:15

标签: debian docker

我想在从Debian官方Docker hub存储库派生的docker容器中执行ps命令:

$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found

5 个答案:

答案 0 :(得分:194)

ps未安装在基础wheezy图像中。从容器中试试这个:

apt-get update && apt-get install procps

答案 1 :(得分:19)

如果您无法安装procps软件包(没有适当的权限),则可以使用/ proc目录。

前几个目录(称为数字)是您的进程的PID。在目录内,您可以找到有助于解密与每个PID连接的进程的其他信息。例如,您可以使用cat命令查看“ cmdline”文件,以检查哪个进程连接到PID。

$ ls /proc
1 10 11 ...

$ ls -1 /proc/22
attr
autogroup
auxv
cgroup
clear_refs
cmdline
...

$ cat /proc/22/cmdline 
/bin/sh

答案 2 :(得分:3)

使用docker top

docker top <container ID>

答案 3 :(得分:3)

如果您正在运行CentOS容器,则可以使用以下命令安装ps:

yum install -y procps

在Dockerfile上运行此命令:

RUN yum install -y procps

答案 4 :(得分:0)

首先在以下命令下运行。

 **apt-get update && apt-get install procps**

并运行ps -ef