1. Docker란?
-
Docker는 2013 Docker사에서 Go lang으로 개발한 오픈소스 플랫폼이다.
-
Docker를 사용하여 리눅스 컨테이너를 더 쉽게 관리하고 사용할 수 있다.
-
Docker의 가장 큰 특징은 이식성인데, 이는 개발 환경, 테스트 환경, 서비스 환경을 모두 동일하게 사용할 수 있기 때문이다.
-
컨테이너에 필요한 서비스 등을 다 넣어놓고 실행만 하면 된다는 개념
-
부팅가능하지않다.
-
모든 컨테이너는 docker file에 저장해서 공유한다.
-
서버를 코드 형태로 정의
-
Docker는 이미지를 사용하여 컨테이너를 실행한다.
-
이 컨테이너는 하나의 애플리케이션을 실행하는 서버처럼 동작한다.
-
Docker는 이미지를 제작할 때 코드형태로 정의하여 작성할 수 있다.
-
따라서 서버를 코드형태로 정의할 수 있어 일관성을 유지하는 부분에서 편리하다.
-
-
이식성
-
Docker를 사용하면 컨테이너에 모든 환경을 구축하기 때문에 도커만 설치하면 된다.
-
-
상호운용성
-
Docker는 Google, Amazon, IBM, Microsoft, Red Hat 등 다양한 vendor에서 지원하기 때문에 다양한 vendor의 시스템 및 오픈소스와 연계하여 사용할 수 있다.
-
2. Docker의 구조
-
Image
-
Docker로 리눅스 컨테이너를 생성하려면 미리 제작된 이미지가 있어야한다.
-
이미지는 다수의 layer로 이루어져있다.
-
각 layer는 read only 상태로 사용된다.
-
만약 이미지로 컨테이너를 실행하여 파일을 생성하거나 삭제한다면 새로운 layer를 만들어 내용을 저장한다.
-
컨테이너에서 변경이 일어나도 이미지에는 변경이 일어나지 않는다.
-
이미지 -> 찍어내기 위한 용도.
-
-
Storage
-
Docker Hub
-
이미지는 호스트가 아닌 외부에 저장되어 공유할 수 있어야 한다.
-
범위에 따라 public 이미지 저장소와 private 이미지 저장소로 나눌 수 있다.
-
Docker Hub는 public, private 이미지 저장소 둘 다 사용 가능하다.
-
-
Container
-
컨테이너는 이미지의 실행 형태이다.
-
디스크 상에 저장되어있으면 이미지, 이 이미지를 boot해서 실행시키면 컨테이너이다.
-
컨테이너 하나 당 하나의 이미지가 권장된다.
-
3. Docker의 기능
-
이미지 생성
-
Docker는 다양한 방법으로 이미지를 생성할 수 있다.
-
Dockerfile이 제일 대표적
-
docker commit
-
docker export
-
docker import
-
- 이미지 공유
-
컨테이너 생성
-
Docker는 컨테이너를 생성하고 관리를 할 수 있는 container runtime이다.
-
'Containers > Docker' 카테고리의 다른 글
이미지 제작 (0) | 2020.07.20 |
---|---|
간단한 Docker 실습 (0) | 2020.07.20 |
이미지 다운로드 / 관리 / 삭제 (0) | 2020.07.14 |
Install Docker (Ubuntu) (0) | 2020.07.13 |
댓글