Il comando ps non funziona nel contenitore finestra mobile


208

Voglio fare un comando ps in un contenitore docker derivato dal repository dell'hub Docker ufficiale Debian:

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

Risposte:


366

psnon è installato wheezynell'immagine di base . Prova questo dal contenitore:

RUN apt-get update && apt-get install -y procps

8
Se viene visualizzato questo errore "Il comando '/ bin / sh -c apt-get install procps' ha restituito un codice diverso da zero: 1", utilizzare apt-get install -y procpsinvece.
fwc,

Ecco l'URL che ha discusso nel 2014 di non includere psnell'immagine wheezy:https://github.com/moby/moby/issues/447#issuecomment-36647268
truthadjustr

ESEGUI apt-get update && apt-get install -y procps && rm -rf / var / lib / apt / lists / *
Zhuo YING

Dove dovrebbe essere aggiunto? Penso nel file .yml durante la creazione dell'immagine docker?
Yaro,


6

Nel caso in cui non sia possibile installare il pacchetto procps (non disponga delle autorizzazioni appropriate) è possibile utilizzare la directory / proc.

Le prime directory (denominate come numeri) sono PID dei processi. All'interno delle directory, è possibile trovare informazioni aggiuntive utili per decifrare quale processo è collegato a ciascun PID. Ad esempio, è possibile utilizzare il comando cat per visualizzare il file "cmdline" per verificare quale processo è collegato al PID.

$ ls /proc
1 10 11 ...

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

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

Sebbene non sia conveniente, questa sembra la risposta più appropriata.
Jairus Martin,

1

Innanzitutto, esegui il comando seguente:

apt-get update && apt-get install procps

e poi esegui:

ps -ef
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.