perintah ps tidak bekerja dalam wadah buruh pelabuhan

208

Saya ingin melakukan perintah ps dalam wadah buruh pelabuhan yang berasal dari repositori hub Docker resmi Debian:

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

Jawaban:

366

pstidak diinstal pada wheezygambar dasar . Coba ini dari dalam wadah:

RUN apt-get update && apt-get install -y procps
pengguna2105103
sumber
8
Jika Anda mendapatkan kesalahan ini "Perintah '/ bin / sh -c apt-get install procps' mengembalikan kode tidak nol: 1" kemudian gunakan apt-get install -y procpssebagai gantinya.
fwc
Berikut adalah URL yang dibahas pada tahun 2014 tidak termasuk psdalam gambar https://github.com/moby/moby/issues/447#issuecomment-36647268
wheezy
LARI pembaruan apt-get && apt-get install -y procps &&rm -rf / var / lib / apt / daftar / *
Zhuo YING
Di mana harus ditambahkan? Saya pikir dalam file .yml saat membuat gambar buruh pelabuhan Anda?
Yaro
13

gunakan top buruh pelabuhan

docker top <container ID>
es cologne
sumber
6

Jika Anda tidak dapat menginstal paket procps (tidak memiliki izin yang tepat) Anda dapat menggunakan direktori / proc.

Beberapa direktori pertama (dinamakan sebagai angka) adalah PID dari proses Anda. Di dalam direktori, Anda dapat menemukan informasi tambahan yang berguna untuk menguraikan proses mana yang terhubung ke setiap PID. Misalnya, Anda dapat menggunakan perintah cat untuk melihat file "cmdline" untuk memeriksa proses mana yang terhubung ke 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
sumber
Meskipun tidak senyaman mungkin, ini sepertinya jawaban yang lebih tepat.
Jairus Martin
1

Pertama, jalankan perintah di bawah ini:

apt-get update && apt-get install procps

lalu jalankan:

ps -ef
harun ugur
sumber