Docker

초콜렛빵·2023년 9월 3일
0

TIL

목록 보기
22/27
post-thumbnail

Docker

Docker 란?

  • 프로세스 격리 기술을 사용해 컨테이너로 실행하고 관리하는 오픈 소스
  • 리눅스에서 제공하는 운영체제 수준의 가상화의 추상화 및 자동화 계층을 제공
  • 핵심 요소인 Container 는 소프트웨어의 실행에 필요한 모든 것(라이브러리, 시스템 도구, 코드, 런타임 등)을 포함하는 완전한 파일 시스템 안에 감싸고, 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증
  • 도커는 Container 가 독립적으로 하나의 리눅스 인스턴스 안에서 실행되도록 함

가상 머신과 차이점

  • App layer 에서의 추상화에서 차이점이 발생
  • 도커의 Container 들이 하나의 머신 위에서 OS 커널을 공유하여 사용하며, 이를 통해 여러 개의 가상 머신을 사용하는 것처럼 활용
  • 가상머신은 하나의 머신 혹은 하드웨어를 여러 개의 OS로 나누어 점유하며, 각자 다른 머신으로 동작하기 때문에 각각 OS, 애플리케이션, 라이브러리가 따로 필요로 함

Docker Image

  • 도커 서비스 운영에 필요한 서버 프로그램, 실행 파일, OS, 코드 및 라이브러리 등을 묶는 형태를 Docker Image
  • Container 생성에 필요로 한 환경을 갖고 있음
  • Container 의 상태가 바뀌거나 삭제되더라도 변하지 않으며, Image 다운로드를 통해 컨테이너 생성 가능
  • 해당 Image를 만들기 위해서는 Docker file 이 필요하며, 이 파일을 통해 어떤 Image를 구성해서 만들 지 관리가 가능
profile
차근차근 기록하고 배우는 개발자

0개의 댓글