자료 조사 : 도커(Docker)란?

2021. 10. 19. 23:51Blockchain/Project - Coin Swap

개요

 

- 도커란?

* 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 무료 소프트웨어 플랫폼

* 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리/시스템 도구/코드/런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함 됨

 

- 컨테이너

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

* 비교적 사용법이 간단하지만 무겁고 느려서 운영환경에선 사용할 수 없었던 기존의 OS를 가상화하는 방식에 성능에 대한 문제를 개선하기위해, CPU나 메모리가 프로세스를 딱 필요한 만큼만 추가로 사용하는 프로세스를 격리하는 방식을 선택

가상머신(VM)과 도커(Docker)

 

- 이미지

* 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있으며, 상태값을 가지지 않고 변하지 않음

* 같은 이미지에서 여러개의 컨테이너를 생성할 수 있고 컨테이너의 상태가 바뀌거나 컨테이너 자체가 삭제되더라도 이미지는 변하지 않고 남아있음

* Docker hub에 등록하거나 Docker Registry 저장소를 직접 만들어 관리할 수 있으며(누구나 쉽게 만들고 배포 가능), 현재 공개된 이미지는 50만개가 넘고 다운로드 수는 80억회에 이름

* 컨테이너를 실행하기 위한 모든 정보를 가지고 있기 때문에 의존성 파일을 컴파일하고 복잡하게 설치할 필요가 없음

* 새로운 서버가 추가되면 미리 만들어 놓은 이미지를 다운받고 컨테이너를 생성만 하면 되고, 한 서버에 여러개의 컨테이너를 실행할 수 있으며, 이로 인해 수천대의 서버도 문제가 없어짐

도커 이미지(Docker Image)

 

- 이미지 경로

* 이미지는 URL(Uniform Resource Locator 또는 web address) 방식으로 관리하며 태그를 붙일 수 있음

* 아래 ubuntu 14.04 이미지는 docker.io/library/ubuntu:14.04 또는 docker.io/library/ubuntu:trusty 이고 docker.io/library는 생략가능하여 ubuntu:14.04 로 사용할 수 있음

이미지 경로(Docker Image URL)

 

- 레이어

* 도커의 이미지는 컨테이너를 실행하기 위한 모든 정보를 가지고 있기에 용량이 클 수 밖에 없음. 첫 다운로드 시에는 부담이 안되지만 기존 이미지가 조금 수정 됐다고 다시 다운로드 받는다면 효율이 매우 떨어지기 때문에, 레이어를 사용하고 유니온 파일 시스템을 이용하여 여러개의 레이어를 하나의 파일 시스템으로 사용할 수 있게 함

 

 

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