공식 Docker Hub에서 제공하는 bare image(기본 이미지)에 필요한 패키지를 설치하고, 해당 상태를 보존하여 새로운 이미지로 생성하는 과정을 다룬다.
이는 CI/CD 파이프라인의 기초가 되는 작업이기도 하다.
1. 베이스 컨테이너 환경 구성
예: Rocky Linux 8 이미지를 기반으로 컨테이너를 실행하고, git 패키지를 설치
# Rocky Linux 실행 및 bash 진입
docker run -it --name "rocky8-1" rockylinux:8 bin/bash
# 패키지 매니저를 통한 Git 설치 (컨테이너 내부)
[root@9fb87d881e0b /]# yum update && yum -y install git
[root@9fb87d881e0b /]# git --version
git version 2.43.7
먼저 베이스가 될 rockylinux:8 이미지를 실행하고, 내부 셸로 진입하여 필요한 변경 사항을 만든다.
여기서는 git 패키지를 설치한다.
2. Docker Commit: 컨테이너의 이미지화
컨테이너 내부에서 git이 설치됨으로써, 초기 이미지와는 다른 데이터 레이어(Layer)가 쌓였다.
이제 컨테이너 밖으로 나와(exit하지 않고 터미널을 하나 더 띄우거나, exit 후 정지된 상태) 현재 상태를 스냅샷으로 저장하여 새로운 이미지를 생성한다.
명령어: docker commit [CONTAINER_NAME] [NEW_IMAGE_NAME]
# rocky8-1 컨테이너를 rocky8-2라는 이름의 이미지로 저장
docker commit rocky8-1 rocky8-2
이 과정을 통해 반복적인 설정 작업 없이, 필요한 환경이 구축된 이미지를 재사용할 수 있다.
Docker Commit 워크플로우

3. 생성된 이미지 검증 (결과 확인)
새로 생성된 rocky8-2 이미지가 정상적으로 만들어졌는지 확인하고, 해당 이미지로 다시 컨테이너를 실행했을 때 아까 설치한 git이 그대로 존재하는지 검증한다.
# 이미지 목록 확인
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
rocky8-2 latest 274f8d1844bb 7 seconds ago 624MB
rockylinux 8 c79048e50f5f 2 years ago 198MB
# 새 이미지로 컨테이너 실행 및 Git 버전 확인
docker run -it rocky8-2:latest bin/bash
[root@5174515a0ebf /]# git --version
git version 2.43.7
git 명령어가 정상 실행되는 것을 볼 수 있다.
이 과정을 통해 매번 패키지를 설치할 필요 없이, 설정이 완료된 환경을 언제든 즉시 실행할 수 있게 되었다.
'AI Journey > 클라우드' 카테고리의 다른 글
| [Kubernetese] Nginx 파드(Pod) 생성하고 포트 포워딩(port forwarding)하기 (0) | 2025.12.31 |
|---|---|
| [Docker] 포트 포워딩(port forwarding) (feat. Nginx) (0) | 2025.12.30 |
| [Docker] 다양한 명령, 옵션 살펴보기: 리소스 정리, 이미지 태그 + CLI 출력 포맷팅 (0) | 2025.12.30 |
| [Docker] 컨테이너 생명주기(lifecycle)와 PID 1 프로세스 아키텍처 (0) | 2025.12.29 |
| [Docker] 런타임 모드와 표준 스트림(stdio) 제어 (0) | 2025.12.29 |