Quero executar um comando ps em um contêiner do docker derivado do repositório oficial do Debian Docker hub:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Quero executar um comando ps em um contêiner do docker derivado do repositório oficial do Debian Docker hub:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Respostas:
ps
não está instalado na wheezy
imagem base . Tente isso de dentro do contêiner:
RUN apt-get update && apt-get install -y procps
ps
na imagem https://github.com/moby/moby/issues/447#issuecomment-36647268
use docker top
docker top <container ID>
Caso não consiga instalar o pacote procps (não possui permissões adequadas), você pode usar o diretório / proc.
Os primeiros diretórios (nomeados como números) são PIDs dos seus processos. Nos diretórios internos, você pode encontrar informações adicionais úteis para decifrar qual processo está conectado a cada PID. Por exemplo, você pode usar o comando cat para visualizar o arquivo "cmdline" e verificar qual processo está conectado ao PID.
$ ls /proc
1 10 11 ...
$ ls -1 /proc/22
attr
autogroup
auxv
cgroup
clear_refs
cmdline
...
$ cat /proc/22/cmdline
/bin/sh
Primeiramente, execute o comando abaixo:
apt-get update && apt-get install procps
e então execute:
ps -ef
apt-get install -y procps
.