1 분 소요

TIL of 2024-03-09

written by CJW

Q. Virtualization?

A. 물리적인 컴퓨터 리소스를 타 시스템이나 앱에서 사용할 수 있도록 제공하는 것.

ex) 플랫폼 가상화, 리소스 가상화. 등

  • 가상화를 관리하기 위한 서비스 프로그램 -> hypervisor = VMM: Virtual Machine Manager  = 다수의 운영체제를 동시에 실행하기 위한 논리적 플랫폼 역할
    • Native (or Bare-metal): hw 위에 직접적으로 hv 설치
    • Hosted: OS 위에 hv 설치

      • OS Virtualization : host OS 위에 guest OS 전체를 가상화. VMWare, VirtualBox. 자유도 높으나 시스템에 부하 많고 느려짐

      • Container Virtualization : host OS가 가진 리소스를 적게 사용. 필요한 프로세스 실행. 최소한의 lib와 도구만 사용. 컨테이너 생성 속도 빠름. hv가 올라와야할 그 위치에 컨테이너 가상화 솔루션(Docker)을 대신 실행. 중복적인 코드를 사용 안할수 있음. 도커는 서버에 해당하는 도커엔진 필요.

Q. Image 이미지란?

A. 컨테이너 실행에 필요한 설정 값을 모아놓은 것들.

  • 이미지를 갖고 실체화해서 쓸수 있는 상태가 곧 컨테이너.
  • ex) MySQL 이미지: MySQL 서버 실행시 필요한 파일과 실행명령어 포트정보
  • 이미지 저장소를 레지스트리 라고 하는데, 보통 퍼블릭 레지스트리로 Docker hub를 사용한다고 함.

  • 컨테이너 서버자체를 docker host 라고 함. 도커호스트에서는 자체 local repository가 있음. public registry 등에서 들어갔던 이미지를 다운받아서 이 레퍼지토리에 저장해둠. 일단 로컬 레퍼지토리에 저장해놨던 이미지를 갖고, 필요한 컨테이너를 생성할 수 있는 것임.
  • 컨테이너 실행을 위한 command: create(형성), start(형성된 것을 실행), run(퍼블릭 레지스트리에서 이미지 다운 + create + start)

Q. docker file이란?

A. 이미지를 생성하기 위해서 필요한 스크립트 파일. 자체적인 문법인 DSL(Domain Specific Language)라는걸 사용함. 컨테이너 이미지를 생성하기 위한 자체 언어 포맷을 사용하고 있음. 이러한 도커파일들은 이미지가 생성되는 과정을 기술해놓은 것임.

업데이트:

댓글남기기