Tôi muốn thực hiện một lệnh ps trong bộ chứa docker có nguồn gốc từ kho lưu trữ trung tâm Docker chính thức của Debian:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Tôi muốn thực hiện một lệnh ps trong bộ chứa docker có nguồn gốc từ kho lưu trữ trung tâm Docker chính thức của Debian:
$ docker run -ti debian:wheezy /bin/bash
root@51afd6b09af8:/# ps
bash: ps: command not found
Câu trả lời:
ps
không được cài đặt trong wheezy
hình ảnh cơ sở . Hãy thử điều này từ trong container:
RUN apt-get update && apt-get install -y procps
ps
trong hình ảnh khò khè:https://github.com/moby/moby/issues/447#issuecomment-36647268
sử dụng docker top
docker top <container ID>
Trong trường hợp bạn không thể cài đặt gói Procps (không có quyền thích hợp), bạn có thể sử dụng thư mục / Proc.
Một vài thư mục đầu tiên (được đặt tên là số) là các PID của các quy trình của bạn. Trong các thư mục, bạn có thể tìm thấy thông tin bổ sung hữu ích để giải mã quá trình nào được kết nối với mỗi PID. Ví dụ: bạn có thể sử dụng lệnh cat để xem tệp "cmdline" để kiểm tra quá trình nào được kết nối với PID.
$ ls /proc
1 10 11 ...
$ ls -1 /proc/22
attr
autogroup
auxv
cgroup
clear_refs
cmdline
...
$ cat /proc/22/cmdline
/bin/sh
Đầu tiên, chạy lệnh dưới đây:
apt-get update && apt-get install procps
và sau đó chạy:
ps -ef
apt-get install -y procps
thay thế.