도커(Docker)란?

2024. 1. 24. 01:01·Infra/Docker

도커(Docker)

  • 리눅스 컨테이너라는 커널 컨테이너 기술을 이용하여 만든 컨테이너 기술 중 하나
  • 컨테이너 기반의 가상화 플랫폼
  • 한줄 요약 : 가상머신처럼 독립적인 플랫폼을 만들긴하는데 대신, 호스트(로컬)의 커널을 공유한다

 

도커 컨테이너(Docker Container)

  • 응용 프로그램과 그에 필요한 모든 것을 포함하는 경량화된 환경을 제공
  • 호스트 시스템과 격리되어 실행
  • 컨테이너를 생성하면, 독립된 공간(프로세스)이 생성됨
  • 한줄 요약 : 필요한거 다 집어넣어 놓은 컨테이너
    • 무엇을 실행할 땐 이 컨테이너 하나만 고대로 내려받아서 실행하면 버전이든 뭐든간에 충돌할 일 없이 잘된다~

 

Q. 도커는 가상 머신(VM, virtual Machine)과 무엇이 다른가?

  • 일단 공통점, 둘은 격리된 환경에서 실행하기 위한 기술
  • 격리된 환경이어야만 로컬에 영향을 주지 않음
  • But, 구현 방식과 특징에서 차이가 있다

 

Q. 도커의 장점은?

  1. 이식성이 좋다
    • 도커 컨테이너는 운영체제 or 환경에 독립적이라 어디서든 실행할 수 있다
  2. 가상화가 경량화 되어있다
    • 가상 머신과는 달리, 운영체제의 커널을 공유
    • 덕분에 빠르고 가볍다 (설치할게 적으니까!)
    • 성능의 저하도 없다 (운영체제의 성능을 공유하니까!)
  3. 배포가 간편하다
    • 도커 이미지를 사용하면 앱을 쉽게 패키지 하고 배포할 수 있다
  4. 스케일링 및 관리가 용이하다
    • 여러 도커 컨테이너를 사용하면 앱을 쉽게 확장하고 관리할 수 있다
  5. 오픈소스이다
    • 도커는 오픈소스로 제공된다
    • 또한 커뮤니티에서 다양한 지원을 받고 있다

 

그렇다면 가상머신(VM, Virtual Machine)이란?

  • 여러개의 운영체제를 하나의 호스트에서 생성하여 사용하는 방식
  • 가상머신은 각각의 OS가 설치되어 사용됨
    • 즉, 호스트와는 완전히 독립된 공간과 시스템 자원을 할당받아 사용
      • 당연히 무겁겠죠?
      • 그 이유야 당연히 만들 때마다 OS를 새로 설치하고 실행 해줘야 하니까!
    • 완벽한 독립 운영체제를 생성할 수 있다는 장점
    • 호스트의 공간과 시스템 자원을 할당받기 때문에 성능의 손실이 있다는 단점
      • 또한 OS는 용량이 커서 OS가 설치된 VM 자체를 배포하기엔 부담스럽다는 단점

 

 

 

<추가할 내용>

- 목차가 적용되면 좋겠다는 점

- VM에 관한 내용이 없다는 점

- 이해한 바를 그림으로 전달할 수 있으면 좋겠다는 점

반응형

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

docker-compose up -d vs docker compose up -d 차이  (0) 2025.03.19
Docker Container 이름 지정하기 (feat. 컨테이너 이름에 -1 지우기)  (0) 2025.02.17
docker 로그 지속적으로 모니터링하는 방법  (0) 2025.02.16
Docker 서버 시간 설정하기 (feat. 서울 시간)  (0) 2025.02.16
도커(Docker) sudo 없이 실행시키기 (feat. docker sudo 권한)  (0) 2025.02.16
'Infra/Docker' 카테고리의 다른 글
  • Docker Container 이름 지정하기 (feat. 컨테이너 이름에 -1 지우기)
  • docker 로그 지속적으로 모니터링하는 방법
  • Docker 서버 시간 설정하기 (feat. 서울 시간)
  • 도커(Docker) sudo 없이 실행시키기 (feat. docker sudo 권한)
Ratatou2
Ratatou2
온갖 정보들을 기록해두는 메모보드 블로그
  • Ratatou2
    nak-z
    · Ratatou2 ·
  • 전체
    오늘
    어제
  • 공지사항

    • 블로그 이전 진행 중 (24.11.25 ~)
    • 분류 전체보기 (313) N
      • OS (90) N
        • Linux (39)
        • Window (24)
        • Mac (22) N
        • Android (5)
      • Infra (88)
        • DevOps (38)
        • Docker (14)
        • Jenkins (12)
        • n8n (14)
        • Nextcloud (8)
        • Rasberry Pi (2)
      • Dev (22) N
        • App (3) N
        • JAVA (7)
        • Python (1)
        • DB (3)
        • Vue (2)
        • AI (6)
        • Git (0)
      • Tools (10)
      • Study (69)
        • Algorithm (66)
        • CS (3)
      • Game (10)
        • Project Zomboid (9)
        • Don't Starve Together (1)
      • etc (23)
        • Temp (0)
      • 개발 외 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Ratatou2
도커(Docker)란?
상단으로

티스토리툴바