본문 바로가기
학교 공부/시스템

[도커 #1] 도커란?

by 그적 2020. 8. 31.

(제가 이해한 내용을 바탕으로 작성하였습니다. 잘못된 부분이 있을 경우에는 댓글 남겨주세요.)

도커란?
컨테이너 기반의 오픈소스 가상화 플랫폼이다.

내가 사용하는 가상 머신 VMware의 같은 경우에는 VM에서 사용하는 OS 자체를 가상화하여 컴퓨터 OS에서 동작시키는 방법이다. 가상 머신의 경우에는 무겁고 느리다는 단점이 생기는데, 이를 개선하기 위해 "컨테이너"라고 불리는 프로세스를 격리시키는 방식을 사용한다.
 
여기서 쉽게 혼동할 수 있는 부분이, '컨테이너 = 도커' 개념으로 생각하는 것이다. 컨테이너에는 다양한 종류의 컨테이너 기술들이 존재하고, 도커는 컨테이너 기술 중에 하나이다. ('컨테이너 > 도커') 또한 도커는 리눅스 컨테이너(LXC) 기술을 기반으로 구축되었으나 이후, 종속 관계에서 벗어나 컨테이너의 이동성과 유연성을 높여 개발자들이 컨테이너를 훨씬 더 쉽게 활용할 수 있도록 만들었다.

 

- 도커의 이점 - 
 1. 분리와 조절 기능을 제공  :  CPU, GPU, 메모리, I/O 네트워킹 등 시스템 리소스 사용 방식을 규정할 수 있다 
 2. 이식성 제공  :  호스트 운영체제와 연결할 필요가 없기 때문에 운영 환경을 최소한으로 유지할 수 있다. 
 3. 결합성 제공  :  웹서버, 데이터베이스, 인-메모리 캐스 등 하나의 스택 안에서 별개의 구성요소를 가진다. 
                            각각의 구성요소들이 컨테이너로 제공되어, 독립적으로 유지, 업데이트, 교체될 수 있다. 
 4. 오케스트레이션과 스케일링이 쉽다. 
   ** 오케스트레이션 : 컨테이너를 쉽고 빠르게 배포, 확장, 관리를 자동화시켜줌(도구 예 : Kubernetes, Docker Swarm, LXC) 

 

도커를 사용하기 위해서 "이미지"라는 개념을 알아야 한다. 이미지는 각각의 컨테이너를 사용하는데 필요한 파일과 설정 값 등을 포함하고 있는 것이다. 그러면 컨테이너를 실행하기 위해 매번 새로운 컨테이너를 사용할 때마다 이미지 파일을 다운로드해야 하는가? 아니다.
레이어(layer)라는 개념을 사용하고, 유니온 파일 시스템을 이용하여 여러 개의 레이어를 하나의 파일 시스템으로 사용할 수 있게 해 준다. 기존에 있는 이미지에 새로운 이미지를 추가시킬 때마다 새로운 레이어가 생성되는 방식이라고 생각하면 된다. layer로 구성되어 있기 때문에 스냅샷을 뜨기가 쉽고 빠르다.

(과정)
1) 코드 개발(이미지화)
2) Dockerfile 생성
3) Dockerfile Image 생성
4) Container Orchestrator를 통한 배포
5) Container run
6) Container image Push

 

(+ 도커 이미지 추가 설명)

https://jihyeong-ji99hy99.tistory.com/212

 

[도커 #2] 도커 이미지란?

** 개념이 중요함. 도커의 이미지? - 이미지는 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것으로 변하지 않는다.   ★써지는건 이미지에 써지는 것이 아니고 다

jihyeong-ji99hy99.tistory.com

 

 

(+ 도커 각티슈 후기)

https://jihyeong-ji99hy99.tistory.com/265

 

[제품리뷰] 개발자들을 위한 도커 각티슈케이스, Docker Tissue Case

제품 후기를 올려보려고 한다. 보안 공부를 할 때 도커를 알았는데 이제는 서버 배포할 때 도커를 사용하고.. 이런 도커러버를 위한 티슈가 있다ㅎㅎ 바로 인카토스에서 판매 중인 "도커 각티슈

jihyeong-ji99hy99.tistory.com

 

댓글