128june

[내용정리] Docker란? 본문

Server/Docker

[내용정리] Docker란?

128june 2020. 6. 10. 08:59
반응형

이 글은 초보를 위한 도커 안내서 - 도커란 무엇인가? 의 글을 정리한 내용입니다.

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이

subicura.com

초보들이 쉽게 이해할 수 있기 때문에 (초보인 제게 아주 큰 도움이 되었습니다 ㅠㅠ)
먼저 읽으시고 정리한 내용을 보시면 더 효과적일 것입니다!


도커란?

  • 컨테이너 기반의 오픈소스 가상화 플랫폼

  • 다양한 프로그램/ 실행 환경을 컨테이너로 추상화

  • 동일한 인터페이스를 제공, 프로그램의 배포 및 관리를 단순화

  • 백엔드 프로그램 / database server / message queue 등 어떤 프로그램도 container로 추상화 가능

  • 조립 pc / AWS / Azure / Google cloud 등 어디에서든 실행 가능

  • 컨테이너 / 이미지 : 가장 중요한 개념

컨테이너

  • 격리된 공간에서 프로세스가 동작하는 기술

  • 기존 방식 ==> OS 가상화  / 무겁고 느려서 운영환경에서 사용 X

    ex) VMware / VirtualBox

    기존의 가상화 방법은 성능문제가 존재 ==> 프로세스를 격리하는 방식 등장

  • 리눅스 컨테이너 : 단순히 프로세스를 격리 => 가볍고 빠르게 동작 / 필요한 만큼의 CPU, Memory 사용 / 성능적으로 손실이 거의 없음

  • 하나의 서버 -> 여러 개의 컨테이너 실행 : 서로 영향을 미치지 않고 독립적으로 실행

     가벼운 Virtual Machine 사용하는 듯한 느낌

출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

이미지

  • 컨테이너 실행에 필요한 파일과 설정값등을 포함하고 있는 것

  • 상태값을 갖지 않고 변하지 않음 (immutable)

  • 컨테이너를 실행하기 위한 모든 정보를 가지고있음

    ▶ 더이상 의존성 파일을 컴파일하고 설치할 필요 X

  • 새로운 서버 추가 : 미리 만들어놓은 이미지 다운로드 -> 컨테이너 생성

  • 한 서버에 여러 개의 컨테이너 실행 가능 / 수많은 서버도 문제 없음

  • 누구나 쉽게 이미지를 만들고 배포할 수 있음

출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

레이어 저장방식

  • 도커는 유니온 파일 시스템을 이용하여 여러개의 레이어를 하나의 파일시스템으로 사용할 수 있게 해줍니다.
  • 이미지는 여러개의 read only 레이어로 구성되고 파일이 추가되거나 수정되면 새로운 레이어가 생성됩니다.

 

출처 : https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

ubuntu 이미지를  A + B + C 의 집합이라고 가정하자. ( 좌측 ubuntu 이미지 )

 

  • ubuntu 이미지를 베이스로 만든 nginx 이미지 A + B + C + ngix 가 된다. 

  • nginx 이미지를 기반으로 만든 web-app 이미지는  A + B + C + ngix + source 가 된다. 

  • web-app 소스를 수정하면  A ,  B ,  C ,  ngix 레이어를 제외하고  source  레이어만 다운받으면 된다.

    => 굉장히 효율적으로 이미지를 관리할 수 있다.

 


출처

https://subicura.com/2017/01/19/docker-guide-for-beginners-1.html

 

초보를 위한 도커 안내서 - 도커란 무엇인가?

도커를 처음 접하는 시스템 관리자나 서버 개발자를 대상으로 도커 전반에 대해 얕고 넓은 지식을 담고 있습니다. 도커가 등장한 배경과 도커의 역사, 그리고 도커의 핵심 개념인 컨테이너와 이

subicura.com

 

반응형

'Server > Docker' 카테고리의 다른 글

[Docker] Docker에서 Mysql 실행하기  (0) 2020.10.04
Comments