Yves Nicolas
Yves Nicolas

Reputation: 7891

ps command doesn't work in docker container

I want to do a ps command in a docker container derived from Debian official Docker hub repository:

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

Upvotes: 637

Views: 587628

Answers (7)

Skull
Skull

Reputation: 117

For RockyLinux 9, you need to use this command

$> yum install procps-ng

Upvotes: 0

storenth
storenth

Reputation: 1225

Kali users fix for bash: ps: command not found issue is:

apt install procps

Upvotes: 8

user2105103
user2105103

Reputation: 13095

ps is not installed in the base wheezy image. Try this from within the container:

apt-get update && apt-get install procps

or add the following line to the Dockerfile:

RUN apt-get update && apt-get install -y procps && rm -rf /var/lib/apt/lists/*

Upvotes: 1058

Vedran Vidovic
Vedran Vidovic

Reputation: 1379

In case you can't install the procps package (don't have proper permissions) you can use /proc directory.

The first few directories (named as numbers) are PIDs of your processes. Inside directories, you can find additional information useful to decipher which process is connected to each PID. For example, you can use the cat command to view "cmdline" file to check which process is connected to PID.

$ ls /proc
1 10 11 ...

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

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

Edited - spaces are lost in the cmdline so we can pipe the cat output to the tr command, for example:

$ cat /proc/1/cmdline | tr '\0' ' '
/sbin/init splash

Upvotes: 118

Duff Ganther
Duff Ganther

Reputation: 411

If you're running a CentOS container, you can install ps using this command:

yum install -y procps

Running this command on Dockerfile:

RUN yum install -y procps

Upvotes: 25

harun ugur
harun ugur

Reputation: 1852

Firstly, run the command below:

apt-get update && apt-get install procps

and then run:

ps -ef

Upvotes: 20

es cologne
es cologne

Reputation: 3614

use docker top

docker top <container ID>

Upvotes: 168

Related Questions