🟢 1. 이미지 다운로드

 
docker pull <이미지이름>[:태그]
  • 이미지를 Docker Hub 등 레지스트리에서 다운로드
  • [:태그] 생략 시 latest 버전이 기본

👉 예시:

docker pull nginx          # Nginx 최신 버전
docker pull ubuntu:20.04   # Ubuntu 20.04 버전
docker pull mysql:8        # MySQL 8 버전

🔎 2. 이미지 조회

docker images
  • 로컬에 저장된 이미지 목록 확인
 
docker inspect <이미지이름>[:태그]
  • 이미지의 세부 설정·정보(JSON) 확인

👉 예시:

docker images                   # 현재 보유한 모든 이미지 목록
docker inspect nginx:latest     # Nginx 이미지 상세정보

🗑️ 3. 이미지 삭제

docker rmi <이미지이름>[:태그]
  • 특정 이미지를 삭제
 
docker image prune -a
  • 사용하지 않는 이미지 전체 삭제 (dangling 및 미사용 이미지 모두)

👉 예시:

docker rmi nginx:latest        # Nginx 이미지 삭제
docker image prune -a          # 안 쓰는 이미지 모두 정리

핵심 정리

  • 다운로드: docker pull
  • 조회: docker images , docker inspect
  • 삭제: docker rmi , docker image prune -a

👉 이 네 가지 명령어가 가장 자주 쓰이고 필수적으로 알아야 할 이미지 관리 명령어입니다.

'DOCKER' 카테고리의 다른 글

[DOCKER] Container 관련 명령어  (0) 2025.09.30
[DOCKER] 기본 개념  (0) 2025.09.30

🟢 1. 컨테이너 실행 및 생성

명령어설명자주 쓰는 옵션/예시
docker run [옵션] <이미지> 이미지를 기반으로 새 컨테이너 생성 + 실행 -d 백그라운드 실행
--name 컨테이너 이름 지정
-p <호스트포트:컨테이너포트> 포트 매핑
-v <호스트경로:컨테이너경로> 볼륨 마운트
예: docker run -d --name web -p 8080:80 nginx
docker create [옵션] <이미지> 실행하지 않고 컨테이너만 생성 실행은 docker start로 따로 함

🟡 2. 컨테이너 상태 확인

명령어설명예시
docker ps 현재 실행 중인 컨테이너 목록 표시 -a 옵션: 중지된 컨테이너까지 모두 보기
docker inspect <컨테이너ID/이름> 컨테이너의 세부 설정·상태(JSON) 조회 docker inspect web
docker logs <컨테이너ID/이름> 컨테이너에서 출력된 로그 확인 -f 옵션: 실시간 로그 스트리밍
docker stats 실행 중인 컨테이너들의 CPU·메모리·네트워크 사용량 모니터링  

🔵 3. 컨테이너 제어(실행·중지·재시작 등)

명령어설명예시
docker start <컨테이너> 중지된 컨테이너 시작 docker start web
docker stop <컨테이너> 정상 종료 (SIGTERM → SIGKILL) docker stop web
docker restart <컨테이너> 컨테이너 재시작 docker restart web
docker pause <컨테이너> 컨테이너의 프로세스 일시 중지  
docker unpause <컨테이너> 중지된 컨테이너 재개  
docker kill <컨테이너> 강제 종료 (SIGKILL) 빠르게 종료할 때 사용

🟠 4. 컨테이너 접근 및 명령 실행

명령어설명예시
docker exec [옵션] <컨테이너> <명령> 실행 중인 컨테이너 안에서 명령 실행 -it 옵션: 터미널 모드로 접속
docker exec -it web bash → web 컨테이너에 쉘 접속
docker attach <컨테이너> 현재 터미널을 컨테이너의 표준 입출력에 연결 주의: exit 시 컨테이너도 중지될 수 있음

🔴 5. 컨테이너 삭제

명령어설명예시
docker rm <컨테이너> 중지된 컨테이너 삭제 -f 옵션: 실행 중인 컨테이너를 강제로 삭제
docker container prune 모든 중지된 컨테이너 일괄 삭제 -f 옵션: 확인 메시지 없이 바로 삭제

📝 추가 꿀팁

  • 컨테이너 이름 대신 ID 앞 몇 글자만 입력해도 인식됨: docker stop a1b2c3
  • 컨테이너 실행 시 환경 변수 설정:
  •  
    docker run -d -e MYSQL_ROOT_PASSWORD=1234 mysql:8
  • 볼륨 마운트로 데이터 보존:
  •  
    docker run -d -v /local/data:/var/lib/mysql mysql:8
  • 자주 쓰는 docker run 조합 예시:
  •  
    docker run -d --name myapp -p 8080:80 -v $(pwd):/usr/share/nginx/html nginx

📌 정리

  • 컨테이너 실행: docker run, docker start
  • 상태 확인: docker ps, docker logs, docker inspect
  • 제어: docker stop, docker restart, docker exec
  • 삭제: docker rm, docker container prune

이 명령어들을 익히면 컨테이너의 생명주기(Lifecycle) 를 거의 다룰 수 있습니다.

 

 

 

컨테이너 “매핑(mapping)” 이라고 하면 주로 호스트 ↔ 컨테이너 간 리소스 연결을 뜻합니다.
Docker에서 가장 자주 쓰는 매핑은 포트 매핑볼륨(디렉토리) 매핑 두 가지입니다.


🔵 1. 포트 매핑 (Port Mapping)

호스트의 포트를 컨테이너의 포트에 연결하여 외부에서 컨테이너의 서비스에 접근할 수 있게 합니다.

명령어

docker run -d -p <호스트포트>:<컨테이너포트> <이미지>
예시설명
docker run -d -p 8080:80 nginx 호스트 8080 포트 → 컨테이너 80 포트 연결 → 브라우저에서 http://localhost:8080 접속 가능
docker run -d -p 127.0.0.1:5000:5000 myapp 특정 호스트 IP(127.0.0.1) 의 5000 → 컨테이너 5000
docker run -d -P nginx -P 옵션: Docker가 컨테이너의 EXPOSE된 포트를 랜덤 호스트 포트로 자동 매핑

👉 현재 매핑 상태 확인:

docker port <컨테이너이름>
 

'DOCKER' 카테고리의 다른 글

[DOCKER] Image 관련 명령어  (0) 2025.09.30
[DOCKER] 기본 개념  (0) 2025.09.30

🐳 1. Docker란?

  • Docker애플리케이션과 그 실행 환경을 하나의 패키지(컨테이너) 로 묶어 어디서나 동일하게 실행할 수 있게 해주는 컨테이너 기반 가상화 플랫폼입니다.
  • 개발 환경, 테스트 서버, 운영 서버 등 환경이 달라도 동일한 실행 결과를 보장합니다.

👉 한 줄 정의:

Docker는 앱과 필요한 라이브러리·설정·의존성을 함께 묶어 가볍고 빠르게 실행하는 컨테이너 기술.


🆚 2. 가상머신(VM)과의 차이점

항목가상머신(VM)Docker(컨테이너)
OS 구조 하이퍼바이저 위에 게스트 OS 필요 호스트 OS의 커널을 공유
실행 속도 무겁고 부팅 시간이 김 가볍고 실행이 빠름 (초 단위)
자원 사용 OS마다 RAM/CPU 점유 많음 컨테이너끼리 자원 공유, 효율적
이식성 비교적 낮음 어디서나 동일하게 실행 가능

✅ Docker는 OS 가상화가 아닌 프로세스 격리 방식이라 VM보다 훨씬 가볍고 빠릅니다.


🗂 3. Docker의 핵심 구성 요소

요소설명
이미지(Image) 애플리케이션과 실행 환경을 읽기 전용 패키지로 저장한 템플릿
예: Ubuntu + Nginx + 설정파일
컨테이너(Container) 이미지를 실행한 실행 중인 인스턴스
컨테이너는 삭제해도 이미지에는 영향 없음
Dockerfile 이미지를 만들기 위한 명령어 스크립트 파일
애플리케이션 설치 방법과 환경 설정 정의
레지스트리(Registry) 이미지를 저장·공유하는 저장소
공식: Docker Hub, 기업 내부: Private Registry
볼륨(Volume) 컨테이너 삭제 시 데이터가 지워지는 문제를 해결하기 위해 데이터를 영구 저장하는 공간
네트워크(Network) 여러 컨테이너가 서로 통신할 수 있도록 가상 네트워크를 구성

⚙️ 4. Docker의 동작 방식

  1. Dockerfile을 작성 → docker build 명령으로 이미지 생성
  2. docker run 명령으로 이미지를 실행하면 컨테이너 생성 및 실행
  3. 컨테이너 안에서 애플리케이션이 동작 (서버, DB 등)
  4. 필요 시 컨테이너 중지·삭제 가능 (docker stop, docker rm)

🚀 5. Docker 사용의 장점

  • 이식성(Portability): 환경이 달라도 동일하게 실행
  • 경량성(Lightweight): VM보다 빠르고 자원 절약
  • 확장성(Scalability): 컨테이너를 쉽게 복제·배포
  • 격리성(Isolation): 앱마다 독립된 실행 환경 제공
  • 자동화 및 CI/CD 친화적: 배포, 테스트 환경 구축 용이

📌 정리

  • Docker = 이미지 기반의 컨테이너 기술
  • 앱과 환경을 한 번에 묶어 어디서나 똑같이 동작
  • VM보다 가볍고 빠르고 확장성 뛰어남
  • DevOps, 마이크로서비스, 클라우드 운영의 표준 도구

Docker를 이해하면 Kubernetes(EKS 등) 같은 컨테이너 오케스트레이션도 자연스럽게 이어서 학습할 수 있습니다.

'DOCKER' 카테고리의 다른 글

[DOCKER] Image 관련 명령어  (0) 2025.09.30
[DOCKER] Container 관련 명령어  (0) 2025.09.30

+ Recent posts