쿠버네티스/Storage

[K8S] 도커란

CrunchyDev 2023. 12. 25. 16:29

1. 도커란

  • 도커는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하여 신속하게  구축, 테스트, 배포 등을 하도록 하는 소프트웨어 플랫폼이다.
  • 도커는 컨테이너를 위한 운영 체제로, 가상 머신이 하드웨어를 가상화 하는 방식과 비슷하게 컨테이너 서버 운영 체제를 가상화한다.

 

도커 (Docker)

2. 계층화 아키텍처란

  • 도커의 컨테이너는 계층화 아키텍처(Layered Architecture) 구조를 지닌다.

 

도커 계층화 아키텍처 (Docker Layered Architecture)

  • 이미지 레이어 생성 (Read Only)
FROM Ubuntu # Layer 5
RUN apt-get update && apt-get -y install python # Layer 4
RUN pip install flask # Layer 3
COPY . /opt/source # Layer 2
ENTRYPOINT FLASK_APP=/opt/source/app.py flask run # Layer 1
docker build -t app .
  • 컨테이너 레이어 생성 (Read, Write)
docker run app

 

3. 도커 경로란

  • 도커 설치 시, 아래와 같이 경로가 생성된다.
 /var/lib/docker
ㄴ aufs # Storage Driver
ㄴ containers # Container Related Files
ㄴ image # Image Related Files
ㄴ volumes # Volume

 

4. 도커 볼륨이란

  • 컨테이너 레이어 생성 시, /var/lib/docker/volumes/~ 경로에 기본으로 볼륨이 생성된다.
  • 기본 생성된 볼륨 외, 별도로 볼륨을 생성하여 설정할 수 있다.

 

도커 볼륨 (Docker Volume)

  • 도커 볼륨 생성
docker volume create --name {볼륨 명}
  • 도커 볼륨 확인
docker volume ls
  • 도커 볼륨 검사
docker volume inspect {볼륨 명}
  • 도커 볼륨 삭제
docker volume rm {볼륨 명}
  • 컨테이너 생성 시, 볼륨 설정
docker run -it --name {컨테이너 명} -v {볼륨 명}:{컨테이너 디렉토리}

5. 마운트

  • 마운트는 볼륨 마운트와 바인드 마운트가 있다.
  • 볼륨 마운트는 /var/lib/docker/volumes/~ 경로 마운트를 의미한다.
  • 바인드 마운트는 호스트 시스템 내 타 경로 마운트를 의미한다.

6. 스토리지 드라이버

  • 도커는 스토리지 드라이버를 사용하여 이미지 레이어 및 컨테이너 레이어 관련 파일을 관리한다.

'쿠버네티스 > Storage' 카테고리의 다른 글

[K8S] 프로비저닝이란  (0) 2023.12.31
[K8S] 공유 볼륨이란  (0) 2023.12.31
[K8S] PV, PVC란  (0) 2023.12.25
[K8S] 볼륨이란  (0) 2023.12.25
[K8S] 인터페이스란  (0) 2023.12.25