Post

01 Docker

01 Docker

1. Docker

1. 도커(Docker)/컨테이너(Container)/이미지(Image)

  • 도커(Docker)
    • 컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴
    • 툴! 도구!
  • 컨테이너(Container)
    • 하나의 컴퓨터 환경 내에서 독립적인 컴퓨터 환경을 구성해서, 각 환경에 프로그램을 별도로 설치할 수 있게 만든 개념
    • 여기서 미니 컴퓨터를 보고 Docker에서는 컨테이너(Container)라 부름.
    • ‘컨테이너’와 ‘컨테이너를 포함하고 있는 컴퓨터’를 구분하기 위해 컨테이너를 포함하고 있는 컴퓨터를 ‘호스트(host) 컴퓨터’
  • 이미지(Image)
    • MySQL 서버를 이미지로 만들었다면, 이 이미지를 Docker로 실행시키는 순간 MySQL 서버가 컨테이너(Container) 환경에서 실행
    • 프로그램을 실행하는 데 필요한 설치 과정, 설정, 버전 정보 등을 포함하고 있음.

2. Docker의 이점

  • 도커의 가장 큰 장점은 이식성(특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행할 수 있음)
  • 매번 설치 과정을 일일이 거치지 않아도 됨
  • 항상 일관되게 프로그램을 설치할 수 있음. (버전, 환경 설정, 옵션, 운영 체제 등이 유지됨)
  • 각 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않음.

3. 컨테이너(Container)의 독립성

  • 컨테이너는 ‘독립적인 컴퓨터 환경’
  • 독립으로 구성되어있는 것
    • 디스크 (저장 공간) : 각 컨테이너마다 서로 각자의 저장 공간을 가지고 있다. 일반적으로 A 컨테이너 내부에서 B 컨테이너 내부에 있는 파 일에 접근할 수 없음
    • 네트워크 (IP, Port) : 각 컨테이너마다 고유의 네트워크를 가지고 있다. 컨테이너는 각자의 IP 주소를 가지고 있음

2. Memo

  • 도커라는 툴을 이용해서 이미지를 컨테이너 환경에서 실행하여 사용함.
  • 흐름 체크
    • 도커에서 nginx 이미지를 받음. -> docker pull nginx
    • 도커에서 내가 가지고 있는 이미지를 확인 -> docker image ls
    • nginx를 이용한 컨테이너(webserver 컨테이너)를 실행함 -> docker run --name webserver -d -p 80:80 nginx
    • 실행중인 컨테이너의 존재유무 확인 -> docker ps
    • 특정한 컨테이너(webserver 컨테이너)를 죽임 -> docker stop webserver

2. 쿠버네티스(Kubernetes)

1. 쿠버네티스

  • 컨테이너 여러 개를 자동으로 배포·운영·확장하는 오케스트레이션 시스템.
  • 컨테이너 실행 자체는 containerd 같은 런타임이 실제로 수행.
  • 쿠버네티스는 이 런타임에 “이 이미지를 이런 설정으로 실행하라”라고 명령만 하는 구조.
  • 컨테이너 여러 개를 여러 노드에 걸쳐 자동 배포·감시·복구·스케일링함.

2. 도커와 쿠버네티스

  • 이미지 만드는 기준은 동일(도커 방식).
  • 도커는 직접 컨테이너를 1개씩 실행하고 관리하는 실행자.
  • 쿠버네티스는 containerd 등을 이용해 컨테이너들을 거대한 클러스터 단위로 자동 관리하는 조율자.

2. 도커와 쿠버네티스 비교

구분도커쿠버네티스
기본 역할컨테이너 생성·실행다수의 컨테이너 배포·관리
이미지 관련이미지 빌드 및 실행이미지를 기반으로 파드 생성·배포
실행 관리단일 컨테이너 실행/중지자동 재시작, 헬스체크, 장애 복구
확장성수동 스케일링자동 스케일링(HPA 등)
배포 방식직접 컨테이너 띄움롤링 업데이트, 롤백 지원
네트워크단일 컨테이너 또는 단일 호스트 중심서비스 디스커버리, 클러스터 네트워크
구성 요소Dockerfile, 이미지, 컨테이너Pod, Deployment, Service 등 오브젝트
사용 목적앱 실행 환경 표준화분산 환경에서 운영 자동화
This post is licensed under CC BY 4.0 by the author.