Docker 이미지를 계속 빌드하다 보면 언제 어떤 빌드가 실행되었는지, 어떤 Dockerfile 변경으로 이미지가 생성되었는지 확인해야 하는 상황이 발생합니다.
특히 운영 환경이나 CI/CD 환경에서는 다음과 같은 문제가 자주 발생합니다.
최근 빌드가 언제 실행되었는지 확인 필요
특정 이미지 생성 과정 분석
빌드 실패 원인 확인
빌드 시간 비교
Cache 사용 여부 확인
기존 Docker 명령어만으로는 전체 빌드 흐름을 확인하기 어려웠습니다.
이때 사용하는 기능이 바로 Docker Buildx History입니다.
Docker Buildx History는 BuildKit에서 실행된 빌드 기록을 확인하는 기능입니다.
빌드 ID, 실행 시간, 빌드 상태, 사용된 Builder 정보 등을 확인할 수 있어 Docker 이미지 생성 과정을 분석하는 데 매우 유용합니다.
이번 글에서는 Docker Buildx History의 개념부터 기본 사용법, 빌드 기록 확인 방법, 문제 해결 활용 방법까지 자세히 알아보겠습니다.
Docker Buildx History란 무엇인가?
Docker Buildx History는 BuildKit에서 수행한 빌드 작업 기록을 확인하는 명령어입니다.
확인 가능한 정보:
빌드 ID
빌드 시간
빌드 상태
빌드 결과
Builder 정보
Docker 이미지가 어떻게 만들어졌는지 추적할 수 있습니다.
Docker Buildx History는 언제 사용하는가?
다음과 같은 상황에서 사용합니다.
빌드 오류 분석
최근 빌드 확인
CI/CD 빌드 추적
이미지 생성 과정 분석
빌드 성능 확인
특히 여러 사람이 Docker 이미지를 관리하는 환경에서 유용합니다.
Docker Buildx History 기본 사용법
기본 명령어:
docker buildx history
실행하면 최근 Build 기록을 확인할 수 있습니다.
출력 예:
ID STATUS CREATED
abc123 completed 5 minutes ago
def456 failed 1 hour ago
실행된 빌드 정보를 확인할 수 있습니다.
Docker Buildx History 목록 확인하기
최근 빌드 기록을 확인합니다.
docker buildx history ls
출력:
BUILD ID STATUS
abc123 DONE
def456 ERROR
빌드 성공 여부를 빠르게 확인할 수 있습니다.
Docker Buildx History 출력 정보 이해하기
주요 항목은 다음과 같습니다.
BUILD ID
빌드 작업의 고유 ID입니다.
예:
abc123
특정 빌드 정보를 조회할 때 사용합니다.
STATUS
빌드 상태입니다.
예:
DONE
정상 완료된 빌드입니다.
또는:
ERROR
실패한 빌드입니다.
CREATED
빌드 실행 시간입니다.
예:
5 minutes ago
최근 빌드 여부를 확인할 수 있습니다.
Docker Buildx History 상세 확인하기
특정 빌드 기록을 자세히 확인하려면:
docker buildx history inspect BUILD_ID
사용합니다.
예:
docker buildx history inspect abc123
확인 가능한 정보:
Dockerfile 단계
빌드 시간
실행 결과
오류 내용
실패한 빌드 분석하기
빌드 실패 기록 확인:
docker buildx history ls
결과:
BUILD ID
abc123 ERROR
상세 확인:
docker buildx history inspect abc123
실패 단계와 오류 원인을 분석할 수 있습니다.
Docker Buildx History와 Build Cache 관계
Build History는 Cache 분석에도 활용됩니다.
확인:
docker buildx history inspect BUILD_ID
확인 내용:
Cache 사용 단계
다시 실행된 단계
변경된 Layer
빌드 속도가 느려진 원인을 찾을 수 있습니다.
Docker Buildx History 실무 활용 예제
최근 배포 빌드 확인
운영 서버에서 최근 빌드 상태를 확인합니다.
docker buildx history ls
출력:
BUILD ID
a12345 DONE
b67890 ERROR
최근 실패한 빌드를 확인할 수 있습니다.
CI/CD 빌드 오류 확인
자동 배포 과정에서 실패가 발생했습니다.
먼저 기록 확인:
docker buildx history ls
실패한 Build ID 확인:
b67890 ERROR
상세 분석:
docker buildx history inspect b67890
오류 발생 단계를 확인할 수 있습니다.
Linux 서버 문제 해결
배포 자동화 과정에서 Docker 이미지 빌드가 실패했습니다.
기존 로그만으로는 실패 원인을 찾기 어려웠습니다.
관리자는 Build History를 확인했습니다.
docker buildx history ls
결과:
BUILD ID
abc123 ERROR
상세 확인:
docker buildx history inspect abc123
확인 결과:
Step 3/8
COPY package.json failed
Dockerfile 파일 복사 단계에서 문제가 발생한 것을 확인했습니다.
파일 경로를 수정한 후 다시 빌드했습니다.
docker buildx build -t app:v1 .
정상적으로 이미지 생성이 완료되었습니다.
Docker Buildx History를 활용하면 복잡한 빌드 오류도 단계별로 분석할 수 있습니다.
Docker Buildx History 사용 시 주의사항
첫 번째는 History는 빌드 기록 확인 기능입니다.
이미지를 직접 관리하거나 삭제하는 기능은 아닙니다.
두 번째는 오래된 빌드 기록은 환경에 따라 유지 기간이 다를 수 있습니다.
세 번째는 민감한 정보가 포함된 빌드 설정을 기록에 남기지 않도록 주의해야 합니다.
네 번째는 운영 환경에서는 정기적으로 빌드 기록을 확인하는 것이 좋습니다.
Best Practice
Docker Buildx History를 사용할 때는 다음 방법을 추천합니다.
배포 전후 빌드 기록을 확인합니다.
실패한 빌드는 상세 분석합니다.
CI/CD 오류 분석에 활용합니다.
Build Cache 문제와 함께 확인합니다.
중요한 빌드는 기록을 관리합니다.
Dockerfile 변경 후 빌드 결과를 비교합니다.
자주 묻는 질문
Docker Buildx History는 무엇인가요?
BuildKit에서 실행된 Docker 빌드 기록을 확인하는 기능입니다.
빌드 기록으로 이미지를 복구할 수 있나요?
아닙니다.
빌드 과정과 결과 정보를 확인하는 기능입니다.
실패한 빌드도 확인할 수 있나요?
가능합니다.
실패 상태와 오류 단계를 확인할 수 있습니다.
Docker Buildx History와 Docker Logs 차이는 무엇인가요?
History는 빌드 작업 기록, Logs는 실행 중 발생한 출력 로그 확인 용도입니다.
마무리
Docker Buildx History는 Docker 이미지 빌드 과정을 추적하고 분석하는 데 필요한 중요한 기능입니다.
빌드 시간, 성공 여부, 오류 단계 등을 확인할 수 있어 CI/CD 환경과 대규모 Docker 프로젝트에서 매우 유용합니다.
특히 빌드 실패 원인을 찾거나 이미지 생성 과정을 분석할 때 docker buildx history를 활용하면 문제 해결 시간을 크게 줄일 수 있습니다.