[Docker] 도커 이미지(Image)와 컨테이너(Container)

2024. 1. 25. 13:20·DevOps/Docker
728x90
반응형

🐳도커 이미지(Image)와 컨테이너(Container)


도커에서 가장 중요한 개념은 컨테이너와 이미지라는 개념이다.

이미지 (Image)

컨테이너를 만드는데 필요한 모든 파일과 설정값을 가진 읽기전용(Read-only) 템플릿.

  • 실행에 필요한 파일과 설정값 등을 포함하고 있는 도커파일을 만든 후 DockerFile을 빌드하여 이미지를 생성한다.

  • 하나의 이미지로 여러 개의 도커 컨테이너를 생성할 수 있으며 도커 이미지를 수정하여도 이미 생성하여 실행 중인 도커 컨테이너에는 영향을 주지 않는다.

    • 마치 도넛 레시피로 도넛을 만들고 도넛 레시피를 변경한 것과 같다.
  • Docker 레이어(Layer) 저장방식

    • 도커 이미지의 내용이 일부 수정되었을 때 도커 이미지에 들어있는 모든 파일들을 다시 다운 받는 것은 매우 비효율적이다.

    • 이를 해결하기 위해 Layer라는 개념을 사용하여 유니온 파일 시스템을 이용하여 여러개의 레이어를 하나의 파일 시스템으로 사용할 수 있게 해준다.

- ubuntu 이미지가 `A` + `B` + `C`의 집합이라면, ubuntu 이미지를 베이스로 만든 nginx 이미지는 `A` + `B` + `C` + `nginx`가 된다.
 webapp 이미지를 nginx 이미지 기반으로 만들었다면 예상대로  `A` + `B` + `C` + `nginx` + `source` 레이어로 구성된다.
webapp에서  `source`를 수정하면 `A`, `B`, `C`, `nginx` 레이어를 제외한 새로운 `source(v2)` 레이어만 다운받으면 되기 때문에 굉장히 효율적으로 이미지를 관리할 수 있다.

컨테이너 (Container)

이미지를 기반으로 독립된 공간에서 실행한 가상환경을 의미

  • 도커 이미지를 실행하면 컨테이너가 생성된다.
  • 이미지로 컨테이너를 생성하면 이미지의 목적에 맞는 파일이 들어있는 파일 시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간이 생성된다. 이것이 바로 컨테이너이다.


📎 참고 링크

  • 쿠버네티스 알아보기 1편: 쿠버네티스와 컨테이너, 도커에 대한 기본 개념 | 인사이트리포트 | 삼성SDS

  • 초보를 위한 도커 안내서 - 도커란 무엇인가?

  • 도커와 컨테이너의 이해 (1/3) - 컨테이너 사용법

  • [ Docker #02 알아보기 2/5 ] -Docker Engine과 용어 이해

반응형

'DevOps > Docker' 카테고리의 다른 글

[Docker] Docker 이미지 만들고 컨테이너 생성하기  (0) 2024.01.31
[Docker] Docker 컨테이너 실행하기  (2) 2024.01.26
[Docker] 도커의 기본 명령어  (0) 2024.01.25
[Docker] 도커 엔진 아키텍처  (0) 2024.01.25
[Docker] Docker와 컨테이너(Container) 그리고 어플리케이션의 배포 환경의 변화 (VM vs Docker)  (1) 2024.01.25
'DevOps/Docker' 카테고리의 다른 글
  • [Docker] Docker 컨테이너 실행하기
  • [Docker] 도커의 기본 명령어
  • [Docker] 도커 엔진 아키텍처
  • [Docker] Docker와 컨테이너(Container) 그리고 어플리케이션의 배포 환경의 변화 (VM vs Docker)
제가안난데여♪(´ε`*)
제가안난데여♪(´ε`*)
기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 제가안난데여♪(´ε`*)
    안나의 전두엽 어딘가 🧠
    제가안난데여♪(´ε`*)
    기억의 유한함을 기록의 무한함으로 ✍️ 예비 개발자가 꿈꾸는 공간 여기는 안나의 개발 블로그 💻
  • 전체
    오늘
    어제
    • 분류 전체보기 (128)
      • 간단하게 한스푼🥄 (1)
      • Programming (56)
        • Spring (16)
        • Vue.js (6)
        • Deep Learning (3)
        • DataBase (5)
        • React (26)
      • DevOps (21)
        • Docker (12)
        • Linux (4)
      • Algorithm (46)
        • 알고리즘 정리 (5)
        • 자료구조 (0)
        • PS - 백준 (28)
        • 99클럽 코테 스터디 (13)
      • Project (0)
        • CampFire (0)
      • 안나의 취뽀일기 (˵ •̀ ᴗ - ˵ ) ✧ (4)
        • SSAFY_9기 (2)
        • SW 부트캠프 (2)
  • 잔디 달력

    «   2025/05   »
    일 월 화 수 목 금 토
    1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31
  • 인기 글

  • 태그

    linux
    Vue.js
    greedy
    백준 구현문제
    stack
    도커
    front-end
    백준
    springboot
    개발자 취업
    docker
    자바 스택
    til
    topology sort
    백준 java
    리액트 상태
    Vue
    java stack
    Spring
    김영한
    항해99
    java
    java 백준
    알고리즘
    React
    코딩테스트 준비
    99클럽
    Vue.js 입문하기
    자바
    도커컨테이너
  • 05-10 23:05
    반응형
  • hELLO· Designed By정상우.v4.10.3
제가안난데여♪(´ε`*)
[Docker] 도커 이미지(Image)와 컨테이너(Container)
상단으로

티스토리툴바