본문 바로가기

Program

Docker Container Inspect : 실행중인 컨테이너의 상세 정보를 알고 싶다.

반응형

컨테이너 상태, 설정, IP 주소 등 모든 내부 정보를 JSON 형태로 추출하고 싶을 때 사용하는 필수 명령어입니다.


🧐 docker container inspect 완전 정복

컨테이너 내부 정보, JSON으로 샅샅이 확인해보자!


 

🔍 docker container inspect란?

docker container inspect는 실행 중이거나 정지된 Docker 컨테이너의 상세 정보를 JSON 형태로 반환하는 CLI 명령어입니다.

이 명령어를 통해 컨테이너의 다음과 같은 모든 정보를 얻을 수 있습니다:

  • IP 주소 / 포트 바인딩 정보
  • 볼륨 마운트 상태
  • 환경 변수
  • 네트워크 및 호스트 설정
  • 이미지/명령어/진입점 정보
  • 현재 실행 중인 프로세스의 설정 상태 등

✅ 기본 사용법

docker container inspect [OPTIONS] CONTAINER [CONTAINER...]

또는 간략히:

docker inspect [OPTIONS] CONTAINER [CONTAINER...]

예시:

docker inspect my-nginx

→ my-nginx라는 컨테이너의 전체 설정 JSON이 출력됩니다.


반응형

💡 출력 예시 (요약)

[
  {
    "Id": "9c09acd48a25...",
    "Name": "/my-nginx",
    "Path": "nginx",
    "Args": ["-g", "daemon off;"],
    "State": {
      "Status": "running",
      "StartedAt": "2024-06-01T12:00:00Z"
    },
    "NetworkSettings": {
      "IPAddress": "172.17.0.2",
      "Ports": {
        "80/tcp": [{"HostIp": "0.0.0.0", "HostPort": "8080"}]
      }
    },
    "Mounts": [
      {
        "Source": "/data",
        "Destination": "/usr/share/nginx/html"
      }
    ]
  }
]

🎯 실전 활용 예제

1. 컨테이너 IP 주소 확인

docker inspect -f '{{ .NetworkSettings.IPAddress }}' my-nginx

출력: 172.17.0.2


2. 포트 바인딩 정보 확인

docker inspect -f '{{ json .NetworkSettings.Ports }}' my-nginx

3. 환경 변수 확인

docker inspect -f '{{ range .Config.Env }}{{ println . }}{{ end }}' my-nginx

4. 실행 중인 이미지 정보 확인

docker inspect -f '{{ .Config.Image }}' my-nginx

5. 특정 필드만 jq로 필터링

docker inspect my-nginx | jq '.[0].State.Status'

출력: "running"


🧠 -f 옵션 (Format)

-f 또는 --format 옵션을 사용하면, Go Template 문법을 통해 JSON 중 일부만 출력할 수 있습니다.

예시:

docker inspect -f '{{ .Config.Cmd }}' mycontainer

→ CMD 명령어 배열 출력


📋 필수 필드 요약표

필드 설명

.Id 컨테이너 고유 ID
.Name 컨테이너 이름
.State.Status 현재 상태 (running, exited 등)
.NetworkSettings.IPAddress 내부 IP 주소
.Config.Image 사용된 이미지
.HostConfig.PortBindings 호스트-컨테이너 포트 매핑
.Mounts 마운트된 볼륨 목록

🧪 여러 컨테이너 동시 조회도 가능

docker inspect container1 container2 container3

→ 배열 형태로 결과가 출력됩니다.


⚠️ 주의사항

  • 출력 결과가 JSON이라 다소 복잡할 수 있으므로 jq와 함께 사용하면 효율적입니다.
  • 컨테이너가 삭제되었거나 존재하지 않으면 오류 반환됩니다.
  • 모든 정보는 해당 시점의 "스냅샷"이며, 실시간 정보는 아닙니다.

🧰 관련 명령어 비교

명령어 용도

docker ps 실행 중인 컨테이너 간단 조회
docker inspect 컨테이너/이미지/네트워크/볼륨 상세 JSON 조회
docker exec 컨테이너 내부 명령어 실행
docker logs 표준 출력 로그 확인

✅ 결론

docker container inspect는 단순히 정보를 보여주는 것을 넘어서, 문제 해결, 디버깅, 설정 확인, 자동화 스크립트 작성까지 도커 활용의 깊이를 더해주는 강력한 도구입니다.

특히 CI/CD 환경, 운영 자동화, 로깅, 네트워크 분석 등 다양한 영역에서 필수적으로 사용되며, 모든 Docker 전문가가 반드시 숙지해야 할 핵심 명령어 중 하나입니다.


 

 

 

 

Docker Container Export : 컨테이너를 .tar 파일로 백업하는 방법 (내 컨테이너는 소중하니까~)

 

Docker Container Export : 컨테이너를 .tar 파일로 백업하는 방법 (내 컨테이너는 소중하니까~)

📦 docker container export 완전 정리: 컨테이너를 .tar 파일로 백업하는 방법현재 실행 중인 컨테이너를 통째로 저장하고 싶다면? export가 정답입니다. 🧭 개요docker container export는 실행 중이거나 정지

jjig810906.tistory.com

 

반응형