[도커] - 윈도우에서 리눅스 환경으로 도커를 돌릴때에 관해서

yeom yaloo·2023년 12월 9일
0

FISA

목록 보기
16/61
post-thumbnail

가상화 머신(vm)과 도커

  • 도커는 가상화 머신을 기반으로 만들어졌음을 이해하자

[virtual machines]

  • vm의 경우엔 하나의 서버에 하나의 애플리케이션만 구동하는 비효율적인 상황에서 등장한 기술이다.
  • 하나의 서버의 하나의 애플리케이션만을 구동하면 이는 남는 자원이 많아지기 때문에 비효율적이라고 표현한다.
  • 이때 등장한 vm의 기반은 하이퍼바이저를 기반으로 가장 많이 이용됐다.
  • 하이퍼바이저는 논리적으로 분할된 공간에 vm이라는 독립된 가상환경을 만들어 호스트 시스템(윈도우나 기타 등등..)에서 게스트 os(리눅스의 우분투나 기타 등등..)를 구동 및 모니터링하는 역할을 한다.

[용어 정리]
vm - 분할 공간에서의 가상 환경 virtual machine
host system - 서버 os (내 컴퓨터의 os)
geust OS - vm에 사용하고자 하는 os
hypervisor - 게스트 os를 구동 및 모니터링(ex. virtual box)
infrastructure - 컴퓨터 자원

  • 즉 논리적으로 구분된 공간에서 독립된 가상의 하드웨어를 할당 받은 vm들이 서로에게 어떠한 영향도 미치지 않으며 가상의 공간에서 여러 서버를 운행할 수 있게하는 것을 의미한다.

[도커?]

  • 도커와 vm의 가장 큰 차이는 guest OS 유무이다.
  • 도커의 경우엔 linux 기반에서만 작동하기 때문에 해당 OS가 이미 도커내에 설치되어 있는 상태라고 생각하면 된다.
  • 위의 말은 다른 의미로 도커 내부에 os가 이미 있기 때문에 컨테이너 안에 여러 sw 이미지를 다운 받아 사용할 수 있는 것이다.
    • 해당 도커 내부에 os가 없으면 mysql이나 oracle과 같은 sw는 돌아가지 않기 때문이다.
  • 이는 도커의 가장 큰 효율성을 내는 부분이라고 한다. vm에서는 게스트의 os를 위한 자원을 할당해야 하는 반면에 도커는 애플리케이션 구동에 필요한 패키지만 있으면 컨테이너 구동이 가능하기 때문이다.

[용어 정리]
container -컨테이너란 호스트 OS상에 논리적인 구획(컨테이너)을 만들고, 어플리케이션을 작동시키기 위해 필요한 라이브러리나 어플리케이션 등을 하나로 모아, 마치 별도의 서버인 것처럼 사용할 수 있게 만든 것입니다.
docker - GO 언어로 작성된 리눅스 컨테이너 기반으로하는 오픈소스 가상화 플랫폼이다.
host system - 서버 os (내 컴퓨터의 os)
infrastructure - 컴퓨터 자원

추후에..

  • 리눅스와 도커에 대한 개념을 더 학습하면 도커가 어떻게 구성되어있고 어떻게 사용하는지에 대해서 조금 더 자세히 설명하고자 한다~
profile
즐겁고 괴로운 개발😎

0개의 댓글