Я хочу выполнить команду ps в контейнере docker, полученном из официального репозитория концентратора Docker Debian:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Я хочу выполнить команду ps в контейнере docker, полученном из официального репозитория концентратора Docker Debian:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Ответы:
ps
не установлен в базовом wheezy
образе. Попробуйте это из контейнера:
RUN apt-get update && apt-get install -y procps
ps
https://github.com/moby/moby/issues/447#issuecomment-36647268
использовать докер
docker top <container ID>
Если вы не можете установить пакет procps (у вас нет соответствующих прав доступа), вы можете использовать каталог / proc.
Первые несколько каталогов (названные числами) являются идентификаторами ваших процессов. Внутри каталогов вы можете найти дополнительную информацию, полезную для расшифровки, какой процесс связан с каждым 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
Во-первых, выполните команду ниже:
apt-get update && apt-get install procps
и затем запустите:
ps -ef
apt-get install -y procps
вместо этого.