-
728x90반응형SMALL
도커란?
컨테이너를 기반으로 하는 오픈소스 가상화 플랫폼
컨네이너는 가상화 기술 중 하나로, 프로세스를 격리시켜 동작하는 방식으로 다음과 같은 특징이 있다.
- host os 그리고 docker엔진 위에서 바로 동작하여 host의 커널을 공유한다.
- 컨테이너를 이루는 네트워크 설정, 환경 변수 등의 시스템 자원은 각 컨테이너가 독립적으로 소유
- 필요한 라이브러리와 어플리케이션을 모아서 마치 별도의 서버처럼 구성한 것
- 이미지를 실행한 상태
Docker document에서는 아래와 같이 설명하고 있습니다.
- 이미지의 실행 가능한 인스턴스입니다. DockerAPI 또는 CLI를 사용하여 컨테이너를 생성, 시작, 중지, 이동 또는 삭제할 수 있습니다.
- 로컬 머신, 가상 머신에서 실행하거나 클라우드에 배포할 수 있습니다.
- 이식 가능(모든 OS에서 실행 가능)
- 컨테이너는 서로 격리되어 있으며 자체 소프트웨어, 바이너리 및 구성을 실행합니다.
이미지는 컨테이너를 실행할 수 있는 실행파일, 설정 값 등을 가지고 있는 것(이미지를 컨테이너에 담고 실행을 한다면 해당 프로세스가 동작하게 된다.)으로 다음과 같은 특징이 있다.
- 컨테이너를 실행하기 위한 모든 정보를 가지고 있다.
- 여러 개의 읽기 전용 레이어로 구성되고 파일이 추가되거나 수정되면 새로운 레이어가 생성된다.
- 도커 이미지는 docker hub에 등록하거나 docker registry 저장소를 직접 만들어 관리할 수 있다.
- 컨테이너를 생성할 때도 레이어 방식을 사용(기존의 이미지 레이어 위에 읽기 쓰기 레이어를 추가, 컨테이너 실행 중에 생성하는 파일이나 변경된 내용은 읽기 쓰기 레이어에 저장됨)
Docer document에서는 아래와 같이 설명하고 있습니다.
컨테이너를 실행할 때 격리된 파일 시스템을 사용합니다. 이 사용자 정의 파일 시스템은 컨테이너 이미지에 의해 제공됩니다 . 이미지에는 컨테이너의 파일 시스템이 포함되어 있으므로 애플리케이션을 실행하는 데 필요한 모든 것(모든 종속성, 구성, 스크립트, 바이너리 등)이 포함되어야 합니다. 또한 이미지에는 환경 변수, 실행할 기본 명령, 및 기타 메타데이터가 존재합니다.
docker file은 이미지 생성 출발점에서 이미지를 구성하기 위한 명령어들을 작성한 것입니다.
- docker hub를 이용하면 image를 pull 받아 컨테이너에 적용 시킬 수 있다. (github와 비슷)
- 도커 이미지를 만들기 위해 dockerfile에 자체 DSL언어를 이용하여 이미지 생성 과정을 적는다.
docker registry는 docker hub처럼 공개된 방식이 아닌 비공개적 격리된 저장소로 구축된 곳
- docker image를 pull 받을 경우 url을 적지 않으면 default로 docker hub에서 image를 pull받게 되고 url을 작성하면 사설 저장소에서 이미지를 받을 수 있다.
결론
- 도커 이미지들은 도커 허브나 자신만의 registry에서 가져올 수 있다.
- dockerfile을 통해 이미지를 만들 수 있다.
- 이미지로 컨테이너를 생성할 수 있다.
- 현재 동작하고 있는 컨테이너를 이미지화 할 수 있다. 이를 커밋이라 한다.
반응형LIST'인프라' 카테고리의 다른 글
dockerfile 관련 정리 (0) 2022.12.09 Nginx Load balancing, 도커 컨테이너 실습 (0) 2022.12.08 Nginx 개념 + 간단 실습 (0) 2022.12.08 컨테이너 run 옵션 정리 (0) 2022.12.08 Kubernetes Ingress란 무엇인가 (0) 2022.12.08