상세 컨텐츠

본문 제목

Docker - 도커란 무엇인가?

Development/Docker

by thisisnew 2022. 11. 10. 20:19

본문

반응형

 

1. 도커의 정의

 

1-1. 도커란 무엇인가?

 

도커는 '데이터 또는 프로그램을 격리시키는 기능'을 제공하는 소프트웨어입니다.

 

격리의 뜻은 다음과 같습니다.

 

핵심은 즉, 떼어 놓는 것입니다. 

 

 

https://www.wsj.com/articles/covid-19-isolation-11618005941

바로 독립된 공간에 말이죠.

 

https://mariadb.com/resources/blog/introducing-docker-images-for-mariadb-enterprise-server/

도커에서는 이런 공간을 '컨테이너'라고 합니다.

위의 사진처럼 하나의 컨테이너에 프로그램을 두고 격리하는 모양이 됩니다.

 

도커는 바로 이 컨테이너를 다루는 소프트웨어입니다.

 

1-2. 컨테이너의 구성

 

https://japan.zdnet.com/article/35093107/

컨테이너를 만들기 위해서는 '도커 엔진'이 필요합니다.

도커 엔진이 있어야 컨테이너를 만들 수 있거든요.

 

https://phoenixnap.com/kb/docker-image-vs-container

여기에 하나 더 필요한 것이 있는데, 바로 '이미지'입니다.

해당 컨테이너가 어떤 소프트웨어를 담을지 결정하기 위해 이미지를 사용하는데요.

 

https://www.bbc.com/korean/international-59978874

가령 물건에 따라 창고의 크기와 모양이 달라지잖아요?

물건이 '소프트웨어'이고, 창고가 '컨테이너'라고 생각하시면 되겠습니다.

물건에 맞춰 창고를 제작하는 것이고 이 창고 제작에 '이미지'가 쓰이는 것이죠.

 

1-3. 격리하는 이유

 

그렇다면 대체 프로그램을 격리하는 이유는 무엇일까요?

바로 개별 구성 환경의 호환성 때문입니다.

 

예를 들어 MySql을 사용하는 애플리케이션 A, B가 있을 때 A에서 요구하는 버전과 B에서 요구하는 버전이 다를 수 있습니다.

그렇다면 무턱대고 한쪽에 맞춰 MySql의 버전을 조정하게 되면, 다른 한쪽은 오류가 발생할 수 있죠.

 

이렇게 개별 환경을 맞춰주기 위해, 독립적으로 격리시키게 됩니다.

반응형

관련글 더보기

댓글 영역