[Docker] 도커란?

최영훈·2020년 6월 21일
0

Docker

목록 보기
1/1
post-thumbnail

도커

Docker라는 이름을 들어보거나 위 고래 이미지를 한 번쯤은 보았을 것입니다. 웬 고래가 컨테이너를 싣고 물에 둥둥 떠다니며.. 마치 이 그림은 인천항 앞바다에 정착해있는 화물선을 연상시킵니다. 그렇다면 이 docker는 무엇을 하는 녀석인지 한번 알아보러 가볼까요??


개요

도커는 컨테이너 기반 가상화 플랫폼입니다.

컨테이너...? 컨테이너는 화물선 위에 물건들을 나르는 그거.. 그거 아닌가요 ??!

네 맞아요 화물선에서는 수송을 위해 각각 물품들(옷, 음식들, 신발,.. 등등)이 독립적인 컨테이너에 감싸서 쉽게 물건들을 다른 지역으로 수송할 수 있어요! 그렇다면 서버에서 이야기하는 컨테이너는 어떨까요?

서버에서의 컨테이너도 화물선의 개념이랑 비슷해요! 서버의 대부분의 환경들을 컨테이너로 추상화하고
이를 배포합니다. 각각의 독립된 환경들이 컨테이너로 추상화되어 있어 서로 방해받을 일 없이 서비스를 돌아가게 합니다. 또한 이런 독립된 컨테이너들을 dockerHubdockerImage를 로드시켜 운영체제에 관여 없이 어디서든 컨테이너들을 이동시켜 서비스를 배포할 수 있습니다. 마치 수송선과 비슷한 일을 하는 것 같죠??


가상화 컨테이너

이렇게 들어보니까 docker라는 것이 가상머신 같은 개념인 것 같은데...?

가상화 기술을 떠올리니까 가상머신(Virtual Machine)이 먼저 떠올랐습니다. 하지만 아래 그림을 확인하면서 가상 머신과 도커의 구조의 차이점을 확인해 봅시다.

[왼쪽 virtual machine 오른쪽 docker]

가상 머신은 한 컴퓨터 안에 하이퍼바이저가 물리 서버 자원들을 추상화하고, 공간을 분할하여 가상머신 이라는 독립적인 가상 환경의 서버를 이용합니다.즉 한 컴퓨터에 있는 자원을 분배하여 사용하기 때문에 성능에 대한 이슈가 발생 할 수 있겠죠. 반면 도커는 하이퍼 바이저와 게스트 os가 필요가 없어서 비교적 가볍고 컨테이너안 실행 환경들이 독립적으로 돌아가는것이여서 좋은 성능을 발휘합니다.

profile
안녕하세요 최영훈입니다.

0개의 댓글