ps कमांड डॉकटर कंटेनर में काम नहीं करता है


210

मैं डेबियन आधिकारिक डोकर हब भंडार से प्राप्त डॉकटर कंटेनर में एक पीएस कमांड करना चाहता हूं:

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

जवाबों:


369

psआधार wheezyछवि में स्थापित नहीं है । कंटेनर के भीतर से यह प्रयास करें:

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

8
यदि आपको यह त्रुटि मिलती है "कमांड '/ बिन / sh -c apt-get installpsps' ने एक गैर-शून्य कोड लौटाया: 1" तो apt-get install -y procpsइसके बजाय उपयोग करें ।
fwc

यहाँ वो URL है जिसकी चर्चा 2014 में pshttps://github.com/moby/moby/issues/447#issuecomment-36647268
मट्ठा

RUN apt-get update && apt-get install -y procps && rm -rf / var / lib / apt / list / *
झोउ यिंग

इसे कहां जोड़ा जाना चाहिए? मुझे लगता है कि। Dol फाइल बनाते समय आपकी डॉकटर छवि बनाई जाती है?
यारो


8

यदि आप खरीद पैकेज स्थापित नहीं कर सकते (उचित अनुमति नहीं है) तो आप निर्देशिका का उपयोग / खरीद कर सकते हैं।

पहले कुछ निर्देशिकाओं (संख्याओं के रूप में नामित) आपकी प्रक्रियाओं के पीआईडी ​​हैं। निर्देशिकाओं के अंदर, आप यह समझने के लिए उपयोगी अतिरिक्त जानकारी पा सकते हैं कि कौन सी प्रक्रिया प्रत्येक पीआईडी ​​से जुड़ी है। उदाहरण के लिए, पीआईडी ​​से जुड़ी कौन सी प्रक्रिया है, यह जांचने के लिए आप "cmdline" फाइल को देखने के लिए कैट कमांड का उपयोग कर सकते हैं।

$ ls /proc
1 10 11 ...

$ ls -1 /proc/22
attr
autogroup
auxv
cgroup
clear_refs
cmdline
...

$ cat /proc/22/cmdline 
/bin/sh

जबकि उतना सुविधाजनक नहीं है, यह अधिक उपयुक्त उत्तर लगता है।
जाइरस मार्टिन

1

सबसे पहले, नीचे कमांड चलाएँ:

apt-get update && apt-get install procps

और फिर चलाएं:

ps -ef
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.