El comando ps no funciona en el contenedor acoplable

208

Quiero hacer un comando ps en un contenedor docker derivado del repositorio oficial Docker Hub de Debian:

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

Respuestas:

366

psno está instalado en la wheezyimagen base . Prueba esto desde dentro del contenedor:

RUN apt-get update && apt-get install -y procps
usuario2105103
fuente
8
Si obtiene este error "El comando '/ bin / sh -c apt-get install procps' devolvió un código distinto de cero: 1" y luego use apt-get install -y procpsen su lugar.
fwc
Aquí está la URL que se discutió en 2014 de no incluir psen la imagen wheezy:https://github.com/moby/moby/issues/447#issuecomment-36647268
truthadjustr
EJECUTAR apt-get update && apt-get install -y procps && rm -rf / var / lib / apt / lists / *
Zhuo YING
¿Dónde se debe agregar? Creo en el archivo .yml al crear su imagen acoplable?
Yaro
14

use la parte superior de la ventana acoplable

docker top <container ID>
es colonia
fuente
6

En caso de que no pueda instalar el paquete procps (no tiene los permisos adecuados) puede usar el directorio / proc.

Los primeros directorios (nombrados como números) son PID de sus procesos. Dentro de los directorios, puede encontrar información adicional útil para descifrar qué proceso está conectado a cada PID. Por ejemplo, puede usar el comando cat para ver el archivo "cmdline" para verificar qué proceso está conectado al PID.

$ ls /proc
1 10 11 ...

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

$ cat /proc/22/cmdline 
/bin/sh
Vedran Vidovic
fuente
Si bien no es tan conveniente, esta parece ser la respuesta más adecuada.
Jairo Martin
1

En primer lugar, ejecute el siguiente comando:

apt-get update && apt-get install procps

y luego ejecuta:

ps -ef
harun ugur
fuente