Ich möchte einen ps-Befehl in einem Docker-Container ausführen, der vom offiziellen Docker-Hub-Repository von Debian abgeleitet ist:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Ich möchte einen ps-Befehl in einem Docker-Container ausführen, der vom offiziellen Docker-Hub-Repository von Debian abgeleitet ist:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Antworten:
ps
ist nicht im Basis- wheezy
Image installiert . Versuchen Sie dies aus dem Container heraus:
RUN apt-get update && apt-get install -y procps
ps
in pfeifendes Bild aufzunehmen:https://github.com/moby/moby/issues/447#issuecomment-36647268
Falls Sie das procps-Paket nicht installieren können (keine ordnungsgemäßen Berechtigungen haben), können Sie das Verzeichnis / proc verwenden.
Die ersten Verzeichnisse (als Zahlen bezeichnet) sind PIDs Ihrer Prozesse. In Verzeichnissen finden Sie zusätzliche Informationen, mit denen Sie erkennen können, welcher Prozess mit jeder PID verbunden ist. Mit dem Befehl cat können Sie beispielsweise die Datei "cmdline" anzeigen, um zu überprüfen, welcher Prozess mit der PID verbunden ist.
$ ls /proc
1 10 11 ...
$ ls -1 /proc/22
attr
autogroup
auxv
cgroup
clear_refs
cmdline
...
$ cat /proc/22/cmdline
/bin/sh
Führen Sie zunächst den folgenden Befehl aus:
apt-get update && apt-get install procps
und dann ausführen:
ps -ef
apt-get install -y procps
stattdessen.