3.1 docker ps
명령의 기본
docker ps
명령은 Docker에서 가장 유용한 명령 중 하나야. 이 명령은 실행 중인 컨테이너 목록을 보여주고, 그에 대한 정보를 제공해줘. 이 강의에서는 docker ps
를 사용하는 방법, 컨테이너의 상태를 확인하는 방법, 그리고 보다 구체적인 정보를 출력하기 위한 옵션에 대해 자세히 알아볼 거야.
기본적으로 docker ps
명령은 현재 실행 중인 컨테이너만 목록에 표시해.
문법
docker ps [OPTIONS]
여기서:
-
OPTIONS
: 출력 결과를 필터링하고 포맷팅하기 위한 추가 옵션.
기본 사용 예
docker ps
이 docker ps
명령의 기본 호출은 실행 중인 모든 컨테이너 목록을 출력해줄 거야. 출력은 다음 항목들을 포함할 거야:
- CONTAINER ID: 컨테이너의 고유 식별자.
- IMAGE: 컨테이너가 생성된 이미지.
- COMMAND: 컨테이너에서 실행되는 명령.
- CREATED: 컨테이너가 생성된 시간부터 경과된 시간.
- STATUS: 컨테이너의 현재 상태 (예: Up 5 minutes).
- PORTS: 포트 매핑 정보.
- NAMES: 컨테이너 이름.
모든 컨테이너 목록
중단된 컨테이너를 포함하여 모든 컨테이너를 표시하려면 -a 옵션을 사용해:
docker ps -a
이 명령은 현재 실행 중인 컨테이너뿐만 아니라 중단된 컨테이너 등 모든 컨테이너 목록을 출력해줄 거야.
3.2 출력 필터링
Docker는 docker ps
명령의 출력을 필터링해서 지정된 기준과 일치하는 컨테이너만 표시하는 기능을 제공해.
1. 상태별 필터링
예를 들어, 중지된 컨테이너만 표시하려면:
docker ps -f "status=exited"
2. 이름별 필터링
특정 이름 또는 이름 일부를 포함하는 컨테이너를 표시하려면:
docker ps -f "name=my_container"
3. 이미지별 필터링
특정 이미지에서 생성된 컨테이너를 표시하려면:
docker ps -f "ancestor=nginx"
3.3 출력 포맷팅
docker ps
명령의 출력을 좀 더 읽기 쉽게 하거나 필요한 필드만 포함하도록 조정할 수 있어. 이를 위해 --format
매개변수를 사용해.
포맷팅 예제
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
이 예제는 컨테이너 ID, 이름, 상태를 포함한 테이블을 출력해.
테이블에서 사용 가능한 열
- {{.ID}}: 컨테이너 ID.
- {{.Image}}: 컨테이너 이미지.
- {{.Command}}: 컨테이너에서 실행 중인 명령.
- {{.CreatedAt}}: 컨테이너 생성 시간.
- {{.RunningFor}}: 컨테이너가 실행 중인 시간.
- {{.Status}}: 컨테이너의 현재 상태.
- {{.Ports}}: 포트 포워딩 정보.
- {{.Names}}: 컨테이너 이름.
사용 예제
예제 1: 컨테이너 ID만 출력하기
이 예제는 실행 중인 컨테이너의 ID만 출력해줘. 스크립트에서 사용하기에 유용해.
docker ps -q
예제 2: 지난 24시간 동안 실행된 컨테이너 출력하기
docker ps --filter "since=24h"
예제 3: 특정 상태의 컨테이너 출력 및 포맷팅
이 예제는 실행 중인 모든 컨테이너의 이름, 상태 및 포트 포워딩 정보를 포함하는 테이블을 출력해.
docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
3.4 실용적인 시나리오
1. 실행 중인 컨테이너 모니터링
여러 개의 컨테이너를 실행 중이라면, docker ps
명령어를 사용하여 현재 상태를 빠르게 확인하고 모든 것이 제대로 작동하는지 확인할 수 있어.
docker ps
2. 중지된 컨테이너 찾기 및 삭제
컨테이너 작업이 완료된 후에도, 컨테이너는 삭제할 때까지 시스템에 남아있어. docker ps -a
명령어로 모든 중지된 컨테이너를 찾고 그 다음에 삭제할 수 있어.
docker ps -a -f "status=exited"
docker rm $(docker ps -a -f "status=exited" -q)
3. 작업 자동화
docker ps
명령어를 스크립트에서 사용하면, 컨테이너 관리 작업을 자동화할 수 있어. 예를 들어, 컨테이너 상태에 대한 보고서를 생성하거나 중지된 컨테이너를 자동으로 다시 시작할 수 있어.
if [ $(docker ps -q -f "name=my_container") ]; then
echo "Container is running"
else
docker start my_container
fi
중요! 이 “코드”는 Linux 터미널에서 작성되었어. 아마 공부가 필요할 수도 있어.
GO TO FULL VERSION