Docker 란?

이승준·2024년 7월 29일

Docker

목록 보기
1/6

가상 머신과 Docker

가상 머신

  • 가상 머신은 편하지만 성능이 좋지 못한 단점 존재
  • 가상 머신은 완전한 컴퓨터여서 게스트 OS 설치 필요
    => 이미지 안에 OS 가 포함되기 때문에 용량이 커짐
  • 이미지 생성과 실행 기능만 있고 관리 기능 부족

Docker

  • 반가상화보다 경량화된 방식
  • 게스트 OS 를 설치하지 않음으로써 이미지 용량 줄임
    => 서버 운영을 위한 프로그램과 라이브러리만 설치
    => OS 자원은 호스트와 공유
  • 하드웨어 가상화 계층이 없어 가상 머신에 비해 빠르다
  • 이미지 생성과 배포에 특화된 기능 제공
    => 이미지 버전 고나리 기능 제공
    => 저장소에 이미지를 push, pull
    => DockerHub 제공

Docker 이미지와 컨테이너

이미지

  • 베이스 이미지 : 리눅스 배포판의 유저랜드만 설치된 파일
  • 이미지 : 베이스 이미지에 필요한 프로그램, 라이브러리, 소스 등을 설치 후 하나의 파일로 만든 것
  • 베이스 이미지에서 바뀐 부분만 이미지로 생성 후, 실행 시 베이스 이미지와 바뀐 부분을 합쳐서 실행
  • 이미지를 통째로 생성하지 않고, 바뀐 부분만 생성한 뒤 부모 이미지를 계속해서 참조하는 방식으로 동작
    => 이를 레이어라고 부른다.
  • 서버 구성을 미리 해놓은 Docker 이미지를 사용하면 서버 실행 시마다 컴파일 등의 작업 없이 의존성 문제 해결 가능.

컨테이너

  • 이미지를 실행한 상태, 특정 실행 파일 등을 위한 실행 환경
  • 이미지 하나로 여러 개의 컨테이너 생성 가능
  • 이미 실행된 컨테이너에서 변경된 부분을 이미지로 생성 가능
  • 도커는 이러한 컨테이너를 구축하기 위한 도구
profile
인하대학교 컴퓨터공학과

0개의 댓글