Common Docker

황제낙엽 2020.05.04 17:50 조회 수 : 558

Docker의 목적은 기존의 가상화와 같습니다.

 

거기에 최대한 공유할 수 있는건 공유하고 그렇지 않는 것들만 따로 격리시키고 실행함으로써 언제 어디서나 앱을 돌릴 수 있게 하는 게 Docker입니다.

 

Docker는 특별히 특정 프로그램들 하나만 따로 돌릴 수 있는데에 집중하였습니다.

 

​

 

깊이 있게 설명하자면 먼저 OS-Level Virtualization 이란 용어를 알아야 합니다.

 

기존의 Hypervisor 방식의 가상화와 달리 OS-Level Virtualization에선 OS의 Kernel을 같이 씁니다.

 

거기에 일부 바이너리와 라이브러리들만 따로 격리시키고 돌리는 겁니다.

 

​

 

이 방식은 유닉스 계열의 chroot 로도 가능합니다. 다만 이 방식은 너무 복잡하고 구성을 해도 Hypervisor와 같은 깔끔한 격리가 잘 되지 않습니다.

 

그러다 2006년에 Oracle Solaris 에서 Solaris Zone 이란 가상화 기술을 만드는 데 여기에 Docker와 핵심을 같이 공유하는 OS-Level Virtualization 기술이 추가 됩니다.

 

이후에 Virtuozzo 나 RKT 같은 기술들이 개발되다 Docker에서 앱 하나만을 OS-Level Virtualization 기술로 저비용 고효율의 컨테이너화를 구현하기로 합니다.

 

Docker에서는 기존의 기술들과 차별되는 점으로

​

 

빌드가 쉽고 빠르며

 

앱의 작동이 빠르고

 

사용에 번거로움이 기존보다 줄어 들었다.

​

 

저 3가지가 상당히 좋아 인기가 오르게 되고 이후에는 Google 의 Kubernetes 에서 Docker를 기본적인 컨테이너 런타임으로 쓰기까지도 합니다.

​

 

이런류의 기술은 결국 웹서버나 게임서버 같은 걸 수십만대 씩 배포하는 기업환경에 쓰기에 좋습니다.

 

예전처럼 서버 장애가 나면 고치는데 시간을 소비하는게 아니라 그냥 부수고 새로운 걸 다시 만들어 내면 끝이고

 

그 시간이 단 1초도 걸리지 않는 다는 것이 가장 획기적인 겁니다.

​

 

솔직히 Docker만 배우면 별로 쓸모는 없습니다.

 

그냥 망치나 스패너와 같은 도구일 뿐 그 도구로 무얼할지는 사용자 몫 입니다.

​

 

단지 어떤 일에 적합한 도구를 사용하는 법을 배워 어떤 일에 쓰는것일 뿐..

 

간단히 웹서버를 만들거나 NAS를 구축하는데 쓰기도 하면 재밌을 겁니다.

번호 제목 글쓴이 날짜 조회 수
공지 Software Development Trend (with Java) 황제낙엽 2024.01.19 2912
154 페이스북에서 알게된 AI의 현주소 황제낙엽 2026.05.22 116
153 MIT License 의 AI Coding Agent - Opencode 황제낙엽 2026.01.23 176
152 개발자를 위한 바이브 코딩 추천 툴 7가지 황제낙엽 2025.12.07 192
151 현재 유행하는 AI 들을 이용하는 방법 황제낙엽 2025.01.31 1136
150 SAP GUI AI Agent를 생성했습니다. 황제낙엽 2025.01.12 592
149 프로그래밍에서 polling 의 의미 황제낙엽 2025.01.05 459
148 [Gemini] server 에서 client 의 function call 를 위한 방안과 특징 황제낙엽 2025.01.03 418
147 Gretty 와 Jetty 에 대하여 황제낙엽 2024.11.01 602
146 naver(네이버) developers에서 제공하는 OAuth REST API 관련 링크 황제낙엽 2023.12.31 452
145 (bing) 소프트웨어의 일반적인 버전 관리 규칙 황제낙엽 2023.10.24 456
144 kakao(카카오) developers에서 제공하는 OAuth REST API 관련 링크 황제낙엽 2023.10.22 506
143 식품(상품) 바코드를 조회하여 제품 정보 획득하기 file 황제낙엽 2023.08.07 1455
142 식약처(식품의약품안전처) 공공데이터 API 황제낙엽 2023.08.07 652
141 서비스 이용약관과 개인정보 처리방침 황제낙엽 2023.07.15 446
140 프로젝트 운영 관리 소프트웨어로 100% 자동화된 '데브옵스(DevOps)' 구축하기 (LG CNS) secret 황제낙엽 2023.07.12 65
139 개발자이기 전에 노동자로써의 삶에 대한 고찰 (지극히 개인적인 사설) 황제낙엽 2023.02.28 472
138 [SDC22 키노트 요약정리] 더 쉽게, 끊김 없이 매끄럽게! ‘캄 테크’ 향해 진화하는 미래의 집 황제낙엽 2022.12.24 501
137 변수 네이밍 표기법 종류 file 황제낙엽 2022.11.30 479
136 이미지에서 텍스트를 추출하는 OCR 방법들 file 황제낙엽 2022.09.23 566
135 지수(과학적 표기법, "E") 서식 지정자 (2) 황제낙엽 2021.07.06 495