Docker 및 기본 명령어

Len.Yun·2025년 8월 27일
0

Docker란?

도커는 애플리케이션과 그 종속성을 격리된 환경인 컨테이너로 패키징하여 실행하는 오픈소스 가장화 플랫폼이다. Go 언어로 작성된 이 기술은 리눅스 컨테이너를 기반으로 하며, 개발자가 애플리케이션을 더 쉽게 만들고 빠르게 배포할 수 있도록 설계되었다.



가상머신과 도커 컨테이너의 차이

1. 리소스 효율성

가상머신은 각각 완전한 게스트 OS를 포함하지만, 도커 컨테이너는 호스트 OS의 커널을 공유하여 더 가볍고 빠르게 실행함

2. 격리 수준

컨테이너는 호스트 OS의 리소스를 논리적으로 분리하여 사용하며, 각 컨테이너는 독립적으로 격리시킴

3. 실행 속도

컨테이너는 별도의 OS를 부팅할 필요가 없이 거의 즉시 실행함

4. 오버헤드

가상머신은 하이퍼바이저와 게스트 OS로 인한 오버헤드가 크지만, 컨테이너는 이러한 오버헤드가 현저히 적음



Docker의 핵심 구성요소의 핵심 구성요소

출처:https://pso62.tistory.com/entry/Docker%EB%9E%80-%EA%B0%9C%EB%85%90%EB%B6%80%ED%84%B0-%ED%99%9C%EC%9A%A9%EA%B9%8C%EC%A7%80

Docker Engine

컨테이너를 생성하고 관리하는 주체로, 도커의 핵심 기술로 다양한 Linux 배포판과 Windows에서 컨테이너를 지원하는 클라이언트-서버 애플리케이션

Docker Container

실행 중인 도커 이미지의 인스턴스로, 각 컨테이너는 자체 파일 시스템, 네트워크 스택, 프로세스 공간을 가지며, CPU와 메모리 시소스 제한이 정의되어 있음

Docker Image

컨테이너로 실행될 소프트웨어 모음으로, 애플리케이션 코드, 런타임, 라이브러리, 시스템 도구 등 실행에 필요한 모든 것을 포함함. 이미지는 변경할 수 없으며, 수정이 필요할 경우 새로운 이미지를 생성

Docker registry

이미지를 저장하고 배포하는 저장소로, docker Hub가 대표적인 공개 레지스트리임



도커 이미지 종류

Docker는 다양한 형태의 이미지를 기반으로 실행됨



기본 Docker 명령어 정리

1. 이미지 관련

# 이미지 검색
docker search python

# 이미지 다운로드
docker pull python:3.12-slim

# 로컬 이미지 목록 확인
docker images

# 이미지 삭제
docker rmi 이미지ID

2. 컨테이너 실행/관리

# 컨테이너 실행 (포트 연결)
docker run -d -p 8080:80 --name myweb nginx

# 실행 중인 컨테이너 목록
docker ps

# 모든 컨테이너 목록 (종료 포함)
docker ps -a

# 컨테이너 중지
docker stop myweb

# 컨테이너 삭제
docker rm myweb

3. 기타 자주 쓰는 명령어

# 컨테이너 내부 접속
docker exec -it myweb /bin/bash

# 로그 확인
docker logs myweb

# 시스템 정리 (중지된 컨테이너, 사용 안 하는 이미지 삭제)
docker system prune -a



마무리

  • 도커는 VM보다 가볍고 빠른 배포가 가능하다.
  • 상황에 맞는 이미지 태그 선택이 중요하다.
  • 기본 명령어만 알아도 충분히 컨테이너 실행/관리 가능하다.

👉 앞으로 블로그 연재로 도커 Compose, 실전 배포 예시까지 확장하면 더 유용한 글이 될 것 같습니다.

0개의 댓글