Chcę wykonać polecenie ps w kontenerze dokowanym pochodzącym z oficjalnego repozytorium hubu Docker:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Chcę wykonać polecenie ps w kontenerze dokowanym pochodzącym z oficjalnego repozytorium hubu Docker:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Odpowiedzi:
ps
nie jest zainstalowany w wheezy
obrazie podstawowym . Spróbuj tego z poziomu kontenera:
RUN apt-get update && apt-get install -y procps
ps
https://github.com/moby/moby/issues/447#issuecomment-36647268
użyj góry dokera
docker top <container ID>
Jeśli nie możesz zainstalować pakietu procps (nie masz odpowiednich uprawnień), możesz użyć katalogu / proc.
Pierwsze kilka katalogów (zwanych liczbami) to PID Twoich procesów. Wewnątrz katalogów można znaleźć dodatkowe informacje przydatne do odszyfrowania, który proces jest podłączony do każdego PID. Na przykład możesz użyć polecenia cat, aby wyświetlić plik „cmdline” i sprawdzić, który proces jest podłączony do PID.
$ ls /proc
1 10 11 ...
$ ls -1 /proc/22
attr
autogroup
auxv
cgroup
clear_refs
cmdline
...
$ cat /proc/22/cmdline
/bin/sh
Najpierw uruchom poniższe polecenie:
apt-get update && apt-get install procps
a następnie uruchom:
ps -ef
apt-get install -y procps
zamiast tego.