카카오테크 부트캠프

[KTB]Docker를 사용하여 애플리케이션을 컨테이너화하고 배포 (1)

아설아 2024. 7. 16. 17:36

일단 도커에 대해 공부를 해야겠죠! 혼자서는 잘 이해가 안가서 블로그에 정리하며 공부해 보려고 합니다.

도커하면 생각났던건 컨테이너 가상화였는데요. 그럼 컨테이너란 뭔지 알아보겠습니다.

 

1. 가상화와 컨테이너란?

예전에는 서버를 구축하려면 데이터센터처럼 물리적인 기계를 이용해서 구축해야만 했습니다. 그러면 서버가 작으면 용량이 남고 크면 부족한 상황이 발생하죠.  

=> 온프레미스 : 기업 자체적으로 보유한 전산실에서 서버를 설치하고 직접 관리

https://tech1.tistory.com/19

 

온프레미스(On-premises)란?

온프레미스(On-premises)란? 온프레미스(On-premises)는 IT 시스템과 소프트웨어를 자체적인 물리적인 공간에 직접 설치하고 운영하는 것을 의미합니다. 즉, 클라우드와 달리 자체적으로 보유한 서버에

tech1.tistory.com

가상화는 하나의 하드웨어에서 여러개의 가상머신을 띄워 각각 독립적으로 구동시킬 수 있는 기술입니다. 이 가상머신을 생성하기 위해서 하이퍼 바이저, 가상머신 모니터라 불리는 소프트웨어를 이용하는데 호스트 os, 게스트 os를 나누는 역할을 하고 각 게스트는 하이버바이저에 의해 관리되면 시스템 자원을 할당받게 됩니다. virtual Box나 utm같은 것이 바로 가상머신입니다. 

이런 하이퍼바이저와 달리 컨테이너는 가상의 OS를 만드는 것이 아닙니다. 컨테이너는 베이스 환경의 OS를 공유하며 필요한 프로세스만 격리하는 방식으로 커널을 공유하여 호스트 OS의 기능을 모두 사용가능합니다. 그래서 호스트 OS와 다른 OS를 구동할 수 없스빈다. 이미지 등 환경 구동에 필요한 모든 파일이 아닌 종속된 라이브러리등만 포함해 용량이 작아지며 속도가 빠릅니다. 

 

2. 도커란? 

도커는 컨테이너 기반의 가상화 플랫폼으로 컨테이너를 잘 다룰 수 있도록 돕는 도구입니다. 도커를 이용하면 이미지를 실행시켜 컨테이너로 만들거나, 생성된 컨테이너를 관리하거나 컨테이너를 다시 이미지로 만드는 작업을 쉽게 할 수 있습니다. 

 

가상화와 컨테이너에서 하이퍼바이저 유무의 차이가 보이시나요!

출처 : https://seosh817.tistory.com/345

그래서 도커파일은 이미지를 빌드, 그러니까 컨테이너 환경을 셋팅해주기 위한 파일이라고 보면 됩니다. 도커 파일안에 설치할 파일이나, 명령어등이 포함되기 때문에 아주 편리해요. 만약 프로젝트를 한다면 버전관리 등은 다 도커파일로 해주면 됩니다.

 

저는 바로 실습으로 들어가서 공부하려고 합니다. 자바로 프로젝트했던 <모잉>을 혼자 배포해보려고요.

그건 다음 게시물에서 계속!