본문 바로가기

두두의 IT

쿠버네티스 / 도커 / 도커 허브 / 도커 이미지 / 도커 컨테이너 / 도커 볼륨

728x90

쿠버네티스(Kubernetes)

  • 컨테이너를 대량으로 관리하는 프로그램
  • 쿠버네티스는 컨테이너화 된 애플리케이션의 자동 디플로이, 스케일링 등을 제공하는 관리시스템

 

도커(Docker)

  • 리눅스의 기능을 사용함으로써 성능 손실이 거의 없는 가상 머신
  • 내 컴퓨터에 가상공간(자원)을 만들어서 컨테이너(운영체제)를 띄우는 것을 지원하는 프로그램
  • 컨테이너를 쉽게 가질 수 있는 툴
  • Go 언어(Google에서 만든 언어)로 되어있음
  • node.js, ubuntu 등의 이미지를 찾고 로컬컴퓨터에 깔려있지 않더라도 실행할 수 있도록 해줌

[도커 장점]

  • 애플리케이션의 개발과 배포가 편해집니다.
  • 여러 애플리케이션의 독립성과 확장성이 높아집니다.
  • 컨테이너는 마이크로 서비스 구조에서 가장 많이 사용되고 있는 가상화 기술입니다. 

 

 

도커 허브(Docker Hub)

  • 도커의 이미지가 모여있는 사이트

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy

hub.docker.com

 

 

도커 이미지(Docker Image)

  • 리눅스 컴퓨터의 특정 상태를 캡처해서 박제한 상태
  • 컨테이너를 찍어내는 틀
  • 무한생산 가능한 컨테이너 조립 키트
  • 이미지를 한 번 받으면 여러 컨테이너를 만들 수 있음

 

도커 컨테이너(Docker Container)

  • 이미지를 가지고 생성된 독립적인 가상화된 공간
  • virtual box 등의 가상화 기술은 Hibervisor을 통해 로컬 컴퓨터와 가상 머신을 통신하는데, 도커는 직접 통신함
  • 컨테이너에 필요한 커널은 호스트의 커널을 공유해 사용하고, 컨테이너 안에는 애플리케이션을 구동하는 데 필요한 라이브러리 및 실행 파일만 존재하기 때문에 컨테이너를 이미지로 만들었을 때 이미지의 용량 또한 가상 머신에 비해 매우 작음

 

도커 볼륨(Docker Volume)

  • 컨테이너가 삭제되어도 내용이 삭제되지 않도록 별도 공간에 저장해주는 기능
  • 외장 하드디스크같은 기능
  • 도커 이미지로 컨테이너를 생성하면 이미지는 읽기 전용이 되며 컨테이너의 변경 사항만 별도로 저장해서 각 컨테이너의 정보를 보존 함
  • 생성된 이미지는 어떠한 경우로도 변경되지 않으며, 컨테이너 계층에 원래 이미지에서 변경된 파일 시스템등을 저장
  • mysql 컨테이너를 삭제하면 컨테이너 계층에 저장되어 있는 데이터베이스의 정보도 다 삭제
  • 이를 방지하기 위해 컨테이너의 데이터를 영속적으로 데이터로 활용할 수 있는 방법이 필요 ==> 도커 볼륨