본문 바로가기

Docker

도커 개요 및 내부 구조

도커를 왜 사용하는가?

 

도커는 컨테이너 기반 가상화 도구이다.

 

Docker를 사용하면 애플리케이션을 인프라에서 분리하고, 신속하게 배포할 수 있다.

그리고 애플리케이션을 격리된 환경에서 실행하여 다른 시스템이나 애플리케이션과의 충돌을 방지한다.

 

기존의 Hypervisor를 통한 가상화(가상머신 방식)에서 좀 더 경량화한 형태가 컨테이너 가상화이다.

가상머신 방식의 경우 GuestOS로 인한 오버헤드와 중복이 발생할 수 있다는 단점이 있다.

반면에 컨테이너 가상화를 이용하면 오버헤드가 적어 VM보다 가볍고 빠른 장점이 있다.

( *오버헤드 : 어떤 처리를 하기 위해 들어가는 간접적인 처리시간, 메모리 등을 말한다)

가상환경 가상환경
애플리케이션 애플리케이션
미들웨어 미들웨어
컨테이너 관리 소프트웨어
OS
하드웨어

 

도커를 사용하면 개발완료 후 QA팀이나 PM이 테스트할 때, 테스트 환경을 바로 전달할 수 있다.

 

가상화 기술은 무엇인가?

가상화 기술은 컴퓨팅 리소스를 '추상화'시켜서 하나의 물리 리소스를 여러개의 논리 리소스처럼 기능시키거나

여러개의 물리 리소스를 하나의 논리 리소스처럼 기능하게 하는 기술이다.

가상화의 대상은 CPU, OS, 메모리, 스토리지, 네트워크 등으로 오늘날 대부분의 컴퓨팅 자원들이 가상화되어 사용되고 있다.(ex 클라우드 서비스, VM, 컨테이너 등...)

 

도커 내부 구조 훝어보기

출처 : https://docs.docker.com/get-started/overview/

 

Docker Host : Docker daemon이 실행되는 호스트 머신(내 window OS)

Docker Daemon : Docker의 이미지, 컨테이너, 네트워크, 볼륨 등 Docker 객체를 관리

Docker Client : 사용자와 상호작용하는 곳. Client에서 명령어를 통해서 docker daemon을 제어할 수 있다.

Docker Registry : Registry에서 이미지를 공유할 수 있다. ex) Docker Hub : 공개형 저장소 , AWS의 ECR 같은 경우 private 한 registry(회사에서 주로 사용)

 

바인드 마운트

Docker 컨테이너에 쓰여진 데이터는 기본적으로 컨테이너가 삭제될 때 함께 사라진다.

Docker 컨테이너가 사라지는 것과 관계없이 데이터를 유지할 수 있도록 Docker는 볼륨, 바인드 마운트 라는 옵션을 제공하고 있다.

 

바인드 마운트는 호스트 파일 시스템의 특정 경로를 컨테이너로 바로 마운트할 수 있다.

 

바인드 마운트는 더 찾아보기....

 

 

참조 :

https://docs.docker.com/get-started/overview/

 

 

Docker overview

Get an in-depth overview of the Docker platform including what it can be used for, the architecture it employs, and its underlying technology.

docs.docker.com

https://tech.cloud.nongshim.co.kr/2018/09/18/%EA%B0%80%EC%83%81%ED%99%94%EC%9D%98-%EC%A2%85%EB%A5%983%EA%B0%80%EC%A7%80/

 

[소개] 가상화의 종류3가지

  1) 호스트 가상화 : 호스트가상화는 Base가 되는 Host OS위에 Guest OS가 구동되는 방식입니다. 종류로는 VM Workstation, VMware Server, VMware Player, MS Virtual Sever, Virtual PC, Virtual Box, Paralles Workstation 등이 있

tech.cloud.nongshim.co.kr

https://selog.tistory.com/entry/%EA%B0%80%EC%83%81%ED%99%94-%EA%B0%80%EC%83%81%EB%A8%B8%EC%8B%A0VM%EA%B3%BC-%ED%95%98%EC%9D%B4%ED%8D%BC%EB%B0%94%EC%9D%B4%EC%A0%80-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

 

[가상화] 3. 가상머신(VM)과 하이퍼바이저 쉽게 이해하기

들어가며 지난 포스팅에서 가상화의 개념과 등장 배경에 대해 알아봤습니다. 오늘은 서버 가상화의 중요한 개념인 가상 머신과 하이퍼바이저를 다루어 보겠습니다. 지난 글 참조 ✔️ [가상화]

selog.tistory.com

 

https://www.daleseo.com/docker-volumes-bind-mounts/

 

Docker 컨테이너에 데이터 저장 (볼륨/바인드 마운트)

Engineering Blog by Dale Seo

www.daleseo.com

 

'Docker' 카테고리의 다른 글

도커 1차시 수업 실습  (0) 2024.05.08
Docker 설치하기 및 사전학습 정리내용  (0) 2024.05.07