Docker를 운영하다 보면 “이 컨테이너는 어떤 IP를 사용하고 있을까?”, “어떤 볼륨이 연결되어 있을까?”, “환경 변수는 어떻게 설정되어 있을까?”처럼 컨테이너의 상세 정보를 확인해야 하는 상황이 자주 발생합니다.
특히 여러 개의 컨테이너를 운영하는 환경에서는 단순히 docker ps만으로는 필요한 정보를 모두 확인할 수 없습니다. 컨테이너의 내부 설정, 네트워크 구성, 마운트 정보, 환경 변수, 이미지 정보 등을 확인하려면 보다 상세한 조회 기능이 필요합니다.
이럴 때 사용하는 명령어가 바로 docker inspect입니다.
Docker Inspect는 컨테이너, 이미지, 네트워크, 볼륨 등 Docker 객체의 모든 설정 정보를 JSON 형태로 출력하는 명령어입니다. Docker에서 문제를 분석하거나 운영 상태를 확인할 때 가장 많이 사용하는 명령어 중 하나입니다.
이번 글에서는 Docker Inspect의 개념부터 기본 사용법, 주요 정보 확인 방법, 실무 활용 사례, 운영 시 주의사항까지 자세히 알아보겠습니다.
Docker Inspect란 무엇인가?
Docker Inspect는 Docker 객체의 상세 정보를 조회하는 명령어입니다.
컨테이너뿐만 아니라 이미지, 네트워크, 볼륨 등 다양한 Docker 리소스를 확인할 수 있습니다.
출력 결과는 JSON 형식으로 제공되며 Docker 내부 설정이 모두 포함되어 있습니다.
운영 환경에서는 장애 분석과 설정 확인을 위해 매우 자주 사용됩니다.
Docker Inspect는 언제 사용하는가?
다음과 같은 상황에서 많이 사용됩니다.
- 컨테이너 IP 주소 확인
- 환경 변수 확인
- Volume 마운트 경로 확인
- 네트워크 설정 확인
- 이미지 정보 확인
- 컨테이너 실행 옵션 확인
- 장애 분석 및 문제 해결
Docker를 운영하는 관리자라면 가장 자주 사용하는 조회 명령어 중 하나입니다.
Docker Inspect 기본 사용법
기본 사용 방법은 다음과 같습니다.
docker inspect <컨테이너명>
예를 들어 nginx 컨테이너의 정보를 확인하려면 다음과 같이 실행합니다.
docker inspect nginx
출력 결과는 다음과 같습니다.
[
{
"Id": "4d5d8b...",
"Created": "2026-07-23T09:00:00Z",
"State": {
"Running": true
},
"Config": {
"Hostname": "nginx"
}
}
]
출력되는 정보는 매우 많기 때문에 필요한 항목만 조회하는 경우가 대부분입니다.
컨테이너 IP 주소 확인
컨테이너의 IP 주소를 확인하려면 다음 명령을 사용합니다.
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx
출력 예시입니다.
172.18.0.2
운영 서버에서 컨테이너 간 통신 문제를 확인할 때 가장 많이 사용하는 명령입니다.
환경 변수 확인
컨테이너 내부의 환경 변수를 확인하려면 다음 명령을 사용합니다.
docker inspect -f '{{json .Config.Env}}' nginx
출력 예시입니다.
PATH=/usr/local/sbin:/usr/local/bin
NGINX_VERSION=1.29
환경 변수가 제대로 적용되었는지 확인할 때 매우 유용합니다.
Volume 마운트 정보 확인
현재 연결된 Volume을 확인하려면 다음 명령을 실행합니다.
docker inspect -f '{{json .Mounts}}' nginx
출력 결과에는 호스트 경로와 컨테이너 내부 경로가 함께 표시됩니다.
이를 통해 데이터가 어디에 저장되고 있는지 쉽게 확인할 수 있습니다.
이미지 정보 확인
이미지 역시 Docker Inspect로 상세 정보를 확인할 수 있습니다.
docker inspect nginx:latest
이미지 ID, 생성 날짜, 아키텍처, 운영체제, 레이어 정보 등을 확인할 수 있습니다.
특정 항목만 조회하기
Go Template 기능을 사용하면 원하는 정보만 출력할 수 있습니다.
예를 들어 컨테이너 이름만 출력하려면 다음과 같이 실행합니다.
docker inspect -f '{{.Name}}' nginx
JSON 전체를 확인하지 않아도 필요한 정보만 빠르게 조회할 수 있어 실무에서 매우 많이 활용됩니다.
Docker Inspect 실무 활용 예제
Docker Inspect는 운영 환경에서 장애를 분석하거나 컨테이너 설정을 확인할 때 가장 많이 사용하는 명령어 중 하나입니다. 특히 컨테이너 내부 설정을 확인해야 하는 경우 Docker Inspect만으로 대부분의 정보를 조회할 수 있습니다.
실행 상태 확인
컨테이너가 실제로 실행 중인지 확인하려면 다음 명령을 사용합니다.
docker inspect -f '{{.State.Status}}' nginx
출력 예시입니다.
running
실행 중이 아니라면 exited, created, paused 등의 상태가 출력됩니다.
컨테이너 시작 시간 확인
컨테이너가 언제 시작되었는지 확인하려면 다음 명령을 실행합니다.
docker inspect -f '{{.State.StartedAt}}' nginx
장애 발생 시점과 비교하여 재시작 여부를 확인할 수 있습니다.
Restart Policy 확인
컨테이너의 자동 재시작 정책도 확인할 수 있습니다.
docker inspect -f '{{.HostConfig.RestartPolicy.Name}}' nginx
출력 예시입니다.
always
운영 서버에서는 대부분 always 또는 unless-stopped 정책을 사용합니다.
연결된 네트워크 확인
컨테이너가 어떤 네트워크에 연결되어 있는지 확인하려면 다음 명령을 사용합니다.
docker inspect -f '{{json .NetworkSettings.Networks}}' nginx
브리지 네트워크, 사용자 정의 네트워크 등을 모두 확인할 수 있습니다.
Linux 서버 문제 해결
운영 중인 웹 서버가 데이터베이스 서버와 통신하지 못하는 문제가 발생했습니다.
먼저 컨테이너의 IP 주소를 확인했습니다.
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' web
다음으로 데이터베이스 컨테이너도 확인했습니다.
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql
확인 결과 두 컨테이너가 서로 다른 Docker Network에 연결되어 있었습니다.
이번에는 연결된 네트워크를 확인했습니다.
docker inspect -f '{{json .NetworkSettings.Networks}}' web
웹 서버와 데이터베이스 서버를 동일한 사용자 정의 네트워크에 연결한 후 통신이 정상적으로 이루어졌습니다.
Docker Inspect 덕분에 네트워크 설정 문제를 빠르게 확인하고 서비스를 복구할 수 있었습니다.
Docker Inspect 사용 시 주의사항
Docker Inspect를 사용할 때는 다음 사항을 알아두는 것이 좋습니다.
첫 번째는 출력 정보가 매우 많다는 점입니다.
기본 출력은 수백 줄 이상의 JSON이 표시될 수 있으므로 필요한 정보는 -f 옵션으로 조회하는 것이 효율적입니다.
두 번째는 환경 변수나 민감한 설정 정보도 함께 출력됩니다.
운영 서버에서는 Inspect 결과를 외부에 공유할 때 비밀번호나 API Key가 포함되어 있는지 반드시 확인해야 합니다.
세 번째는 Docker 객체 종류에 따라 출력되는 정보가 다릅니다.
컨테이너와 이미지, 네트워크, Volume은 각각 다른 속성을 가지고 있습니다.
Best Practice
Docker Inspect를 사용할 때는 다음과 같은 방법을 추천합니다.
- JSON 전체보다
-f옵션을 적극적으로 활용합니다. - 장애 발생 시 IP 주소와 네트워크 정보를 먼저 확인합니다.
- Volume 마운트 정보를 함께 점검합니다.
- Restart Policy를 확인하여 자동 복구 여부를 점검합니다.
- 환경 변수 변경 후 Inspect로 정상 적용 여부를 확인합니다.
- Docker Logs와 함께 사용하면 문제 분석이 더욱 쉬워집니다.
이러한 방법을 활용하면 Docker 환경을 보다 효율적으로 관리할 수 있습니다.
자주 묻는 질문
Docker Inspect는 컨테이너만 조회할 수 있나요?
아닙니다. 이미지, 네트워크, Volume 등 대부분의 Docker 객체를 조회할 수 있습니다.
JSON 대신 필요한 정보만 출력할 수 있나요?
가능합니다. -f 옵션과 Go Template을 사용하면 원하는 항목만 출력할 수 있습니다.
Docker Inspect로 환경 변수도 확인할 수 있나요?
네. 컨테이너 실행 시 지정한 환경 변수까지 모두 확인할 수 있습니다.
Docker Inspect와 Docker Logs의 차이는 무엇인가요?
Docker Inspect는 컨테이너의 설정과 메타데이터를 조회하는 명령어입니다.
Docker Logs는 컨테이너에서 출력된 로그를 확인하는 명령어입니다.
마무리
Docker Inspect는 Docker 객체의 모든 설정 정보를 확인할 수 있는 매우 강력한 조회 명령어입니다.
컨테이너의 IP 주소, 네트워크, Volume, 환경 변수, Restart Policy 등 운영에 필요한 거의 모든 정보를 확인할 수 있어 장애 분석과 유지보수에서 필수적으로 사용됩니다.
특히 -f 옵션을 활용하면 필요한 정보만 빠르게 확인할 수 있으므로 운영 효율성을 크게 높일 수 있습니다.
Docker를 실무에서 운영한다면 Docker Inspect 사용법은 반드시 익혀두는 것이 좋습니다.