programing

ps 명령이 도커 컨테이너에서 작동하지 않습니다.

telecom 2023. 10. 2. 10:58
반응형

ps 명령이 도커 컨테이너에서 작동하지 않습니다.

데비안 공식 도커 허브 저장소에서 파생된 도커 컨테이너에서 ps 명령을 수행하고자 합니다.

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

ps기본에 설치되지 않았습니다.wheezyimage. 컨테이너 내에서 이 방법을 사용해 보십시오.

apt-get update && apt-get install procps

또는 다음 행을 에 추가합니다.Dockerfile:

RUN apt-get update && apt-get install -y procps && rm -rf /var/lib/apt/lists/*

도커톱을 사용합니다.

docker top <container ID>

procps 패키지를 설치할 수 없는 경우(적절한 권한이 없는 경우) /proc 디렉토리를 사용할 수 있습니다.

처음 몇 개의 디렉터리(숫자로 명명됨)는 프로세스의 PID입니다.디렉터리 내에서 각 PID에 연결된 프로세스를 해독하는 데 유용한 추가 정보를 찾을 수 있습니다.예를 들어 cat 명령을 사용하여 "cmdline" 파일을 보고 어떤 프로세스가 PID에 연결되어 있는지 확인할 수 있습니다.

$ ls /proc
1 10 11 ...

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

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

Edited - cmdline에서 공간이 손실되어 cat 출력을 에 파이프링할 수 있습니다.tr명령어, 예:

$ cat /proc/1/cmdline | tr '\0' ' '
/sbin/init splash

만약 당신이 센트를 운영하고 있다면,OS container, 다음 명령을 사용하여 ps를 설치할 수:

yum install -y procps

도커 파일에서 다음 명령 실행:

RUN yum install -y procps

먼저 아래 명령을 실행합니다.

apt-get update && apt-get install procps

실행합니다.

ps -ef

kali 사용자가 bash: ps: 명령을 찾을 수 없는 문제를 수정합니다.

apt install procps

RockyLinux 9의 경우 이 명령을 사용해야 합니다.

$> yum install procps-ng

언급URL : https://stackoverflow.com/questions/26982274/ps-command-doesnt-work-in-docker-container

반응형