2025. 11. 6. 16:11ㆍInfrastructure Cloud 엔지니어과정
배울내용:
docker 기본명령어
도커 이미지 다운로드
도커 이미지 목록 및 정보 확인
도커 이미지 삭제
도커 컨테이너로 이미지 생성
도커를 이용해 웹사이트 열기
Docker이미지관리
Dockerfile
Docker튜토리얼

🐳 Docker 이미지 관리 완벽 정리 | sarimus
도커(Docker)는 가상머신보다 가볍고 빠르게 애플리케이션을 배포할 수 있는 기술이예오!
이번 포스팅에서는 도커 이미지(Docker Image) 를 중심으로 다운로드부터 삭제, 직접 빌드까지 전 과정을 정리했어오.
1. 도커 이미지 다운로드
도커 이미지는 Docker Hub(공식 레지스트리) 또는 사설 레지스트리에서 받을 수 있답니다.
🔹 레지스트리(Registry) :
dnf의 리포지토리(repository) 와 비슷한 개념이에오.
🔹 사설 레지스트리 :
외부에 공개되면 안 되는 이미지를 내부에서만 관리하기 위해 사용되오.(기업에서 주로쓰는방식 AWS ,Azure 등등)
기본 형식
[저장소 이름/]이미지 이름[:태그]
- 저장소 이름 생략 시 → Docker Hub 공식 이미지로 인식
- 태그(tag) 는 버전을 의미하며, 생략 시 latest 로 자동 설정
예시
docker image pull alpine # Alpine Linux 최신 이미지 다운로드
마지막 줄에 docker.io 가 뜨면 → 공식 레지스트리에서 받은 것
용량 확인:약 8MB 내외의 경량 이미지 (아래의 명령어로 확인가능)
docker image ls
- 여러 줄의 Pull complete 메시지는 nginx 실행에 필요한 여러 계층(layer) 들이 각각 받아지는 과정입니다.
도커 이미지 목록 및 정보 확인
docker image ls # 이미지 목록 출력
이미지를 자세히 보고 싶다면:
docker image inspect <Image ID>
💡 Image ID는 일부만 입력해도 고유하다면 인식되요!! ex) ID가 9704032331 일때 docker image inspect 97 << 이것도 가능 !! 그러나 동일되는 이미지가 있으면 그것과 구분이되는 뒷번호까지는 입력해야해오!
inspect 결과에서 자주 보는 항목:
- ID → SHA256 해시
- RepoTags → 이미지 이름 + 태그
- Config → Env → 이미지 내부 환경 변수
도커 이미지 삭제
docker image rm <Image ID> # 또는 docker image rm <이름>
❗ 만약 이미지가 실행 중인 컨테이너에서 사용 중이라면 삭제할 수 없어요!.
1️⃣ 컨테이너 목록 확인
docker container ps -a
2️⃣ 컨테이너 중지
docker container stop SarimusWebTest
3️⃣ 컨테이너 삭제
docker container rm SarimusWebTest
4️⃣ 이미지 삭제
docker image rm <Image ID>
모든 이미지 한 번에 정리하려면:
docker system prune -a
prune 은 나무 가지치기 에서 따온거라 저렇게 표현한것같습니당
docker images 로 확인해보니 psc_web1 , httpd image 가 있는데 한번에 다 지워보겠습니다

docker system prune -a 해서 Are you sure you want to continue? 라고 계속진행할거냐 라고할때 Y 또는 yes 해서 진행합니다


docker images 로 다시 확인해보면 컬럼은 뜨지만 아래에 기존에 나왔던 2개의 image는 삭제 된걸 볼수있습니다.
도커 이미지 활용 — 직접 만들기
공식 이미지들은 범용적이라서 최소 기능만 포함되어 있어용.
하지만 우리는 컨테이너를 커스터마이징한 뒤 나만의 이미지로 저장할 수 있읍니다.
방법 1️⃣ commit 명령어로 생성
컨테이너를 기반으로 이미지를 생성
docker commit [컨테이너 이름] [새 이미지명]
🧪 실습 예시
docker run --name apache04 -d -p 8093:80 httpd # 1. Apache 컨테이너 실행
docker commit apache04 sarimus_apache:1.0 # 2. 컨테이너를 이미지로 변환
docker image ls # 3. 결과 확인
방법 2️⃣ Dockerfile로 이미지 생성
Dockerfile은 이미지 생성용 스크립트 예오.
반복적으로 동일한 이미지를 만들 때 가장 깔끔한 방식이랍니다 .
🧪 실습 시나리오
- Dockerfile 작성
- 이미지 빌드
- 컨테이너 실행
- 결과 확인
mkdir /root/web # 작업 폴더 생성
cd /root/web # Dockerfile 작성 vi Dockerfile
Dockerfile 내용
- # vi Dockerfile
FROM httpd
LABEL author="sarimus"
LABEL version="0.1"
ADD index.html /usr/local/apache2/htdocs
ENV TZ="Asia/Seoul"
EXPOSE 80
→ 내용 저장
- Dockerfile 항목
- FROM : 베이스 이미지 지정
- LABEL : 이미지에 메타데이터 추가(이미지에 대한 정보)
- ADD : 추가할 파일 / 디렉토리 지정
- ENV : 환경 변수 설정
- EXPOSE : 공개할 포트 지정

만약 화살표 쓰다가 ABCD 이런게 막 나오고 vim 에디터 작동이 안되면 vi 가 특수키 해석을 못하는 상태라 그래요
✅ 해결 방법
① vim 설치 (가장 깔끔한 방법)
sudo apt install vim -y
#이후엔 그냥:
#vim 파일명
#으로 열면 화살표, 백스페이스, 탭 전부 정상 작동
기본 페이지(index.html)
#vi index.html (cd /root/web 에서)
<html> <body bgcolor=yellow> Welcome To sarimus.com </body> </html>
이미지 빌드
docker build -t sarimus_web:0.1 /root/web
컨테이너 3개 실행
docker run -itd --name sarimusweb1 -p 8001:80 sarimus_web:0.1
docker run -itd --name sarimusweb2 -p 8002:80 sarimus_web:0.1
docker run -itd --name sarimusweb3 -p 8003:80 sarimus_web:0.1

이렇게 해쉬값이 각각 다르게 나오면 정상입니다.
브라우저에서 확인
위와같이 포트만 다르게 해도 똑같이 index.html 만들어 build 시켰던게 보이게 됩니다

정리 — sarimus 한 줄 요약
| 구분 | 주요 명령어 | 설명 |
| 이미지 다운로드 | docker pull nginx | Docker Hub에서 받기 |
| 목록 확인 | docker image ls | 로컬 이미지 확인 |
| 삭제 | docker image rm <ID> | 사용하지 않는 이미지 제거 |
| 커밋 생성 | docker commit 컨테이너명 새이미지명 | 실행 중 컨테이너 기반 이미지 생성 |
| Dockerfile 빌드 | docker build -t 이미지명:버전 . |
'Infrastructure Cloud 엔지니어과정' 카테고리의 다른 글
| AWS로 도메인 연결 웹사이트 구축하기 (VPC · EC2 · Elastic IP · Route 53 · 가비아) (1) (0) | 2025.12.27 |
|---|---|
| AWS로 도메인 연결 웹사이트 구축하기 (VPC · EC2 · Elastic IP · Route 53 · 가비아) (2) (0) | 2025.12.25 |
| [GNS 실습] GNS 로 VM 연결하여 테스트 해보기 (HOST에서 인터넷 연결) (0) | 2025.09.24 |
| [네트워크] UTM을 활용한 DMZ Zone 웹 서버 외부 접속 구성 실습 (0) | 2025.09.23 |