CodeGym /행동 /Docker SELF /컨테이너 상태 확인

컨테이너 상태 확인

Docker SELF
레벨 11 , 레슨 2
사용 가능

3.1 docker ps 명령의 기본

docker ps 명령은 Docker에서 가장 유용한 명령 중 하나야. 이 명령은 실행 중인 컨테이너 목록을 보여주고, 그에 대한 정보를 제공해줘. 이 강의에서는 docker ps를 사용하는 방법, 컨테이너의 상태를 확인하는 방법, 그리고 보다 구체적인 정보를 출력하기 위한 옵션에 대해 자세히 알아볼 거야.

기본적으로 docker ps 명령은 현재 실행 중인 컨테이너만 목록에 표시해.

문법

Terminal

docker ps [OPTIONS]

여기서:

  • OPTIONS: 출력 결과를 필터링하고 포맷팅하기 위한 추가 옵션.

기본 사용 예

Terminal


docker ps 

docker ps 명령의 기본 호출은 실행 중인 모든 컨테이너 목록을 출력해줄 거야. 출력은 다음 항목들을 포함할 거야:

  • CONTAINER ID: 컨테이너의 고유 식별자.
  • IMAGE: 컨테이너가 생성된 이미지.
  • COMMAND: 컨테이너에서 실행되는 명령.
  • CREATED: 컨테이너가 생성된 시간부터 경과된 시간.
  • STATUS: 컨테이너의 현재 상태 (예: Up 5 minutes).
  • PORTS: 포트 매핑 정보.
  • NAMES: 컨테이너 이름.

모든 컨테이너 목록

중단된 컨테이너를 포함하여 모든 컨테이너를 표시하려면 -a 옵션을 사용해:

Terminal


docker ps -a 

이 명령은 현재 실행 중인 컨테이너뿐만 아니라 중단된 컨테이너 등 모든 컨테이너 목록을 출력해줄 거야.

3.2 출력 필터링

Docker는 docker ps 명령의 출력을 필터링해서 지정된 기준과 일치하는 컨테이너만 표시하는 기능을 제공해.

1. 상태별 필터링

예를 들어, 중지된 컨테이너만 표시하려면:

Terminal


docker ps -f "status=exited" 

2. 이름별 필터링

특정 이름 또는 이름 일부를 포함하는 컨테이너를 표시하려면:

Terminal


docker ps -f "name=my_container"

3. 이미지별 필터링

특정 이미지에서 생성된 컨테이너를 표시하려면:

Terminal

docker ps -f "ancestor=nginx"

3.3 출력 포맷팅

docker ps 명령의 출력을 좀 더 읽기 쉽게 하거나 필요한 필드만 포함하도록 조정할 수 있어. 이를 위해 --format 매개변수를 사용해.

포맷팅 예제

Terminal


docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

이 예제는 컨테이너 ID, 이름, 상태를 포함한 테이블을 출력해.

테이블에서 사용 가능한 열

  • {{.ID}}: 컨테이너 ID.
  • {{.Image}}: 컨테이너 이미지.
  • {{.Command}}: 컨테이너에서 실행 중인 명령.
  • {{.CreatedAt}}: 컨테이너 생성 시간.
  • {{.RunningFor}}: 컨테이너가 실행 중인 시간.
  • {{.Status}}: 컨테이너의 현재 상태.
  • {{.Ports}}: 포트 포워딩 정보.
  • {{.Names}}: 컨테이너 이름.

사용 예제

예제 1: 컨테이너 ID만 출력하기

이 예제는 실행 중인 컨테이너의 ID만 출력해줘. 스크립트에서 사용하기에 유용해.

Terminal


docker ps -q

예제 2: 지난 24시간 동안 실행된 컨테이너 출력하기

Terminal


docker ps --filter "since=24h" 

예제 3: 특정 상태의 컨테이너 출력 및 포맷팅

이 예제는 실행 중인 모든 컨테이너의 이름, 상태 및 포트 포워딩 정보를 포함하는 테이블을 출력해.

Terminal


docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" 

3.4 실용적인 시나리오

1. 실행 중인 컨테이너 모니터링

여러 개의 컨테이너를 실행 중이라면, docker ps 명령어를 사용하여 현재 상태를 빠르게 확인하고 모든 것이 제대로 작동하는지 확인할 수 있어.

Terminal


docker ps 

2. 중지된 컨테이너 찾기 및 삭제

컨테이너 작업이 완료된 후에도, 컨테이너는 삭제할 때까지 시스템에 남아있어. docker ps -a 명령어로 모든 중지된 컨테이너를 찾고 그 다음에 삭제할 수 있어.

Terminal

docker ps -a -f "status=exited" 
docker rm $(docker ps -a -f "status=exited" -q)
    

3. 작업 자동화

docker ps 명령어를 스크립트에서 사용하면, 컨테이너 관리 작업을 자동화할 수 있어. 예를 들어, 컨테이너 상태에 대한 보고서를 생성하거나 중지된 컨테이너를 자동으로 다시 시작할 수 있어.

Terminal

if [ $(docker ps -q -f "name=my_container") ]; then
  echo "Container is running"
else
  docker start my_container
fi
    

중요! 이 “코드”는 Linux 터미널에서 작성되었어. 아마 공부가 필요할 수도 있어.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION