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

Jawaban:


366

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

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

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


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

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.