Docker
- open platform
- 애플리케이션을 인프라에서 분리
- 신속하다.
- 인프라를 애플리케이션을 관리하는 것 처럼 관리
- 코드를 배포에 용이
- 컨테이너 기반 가상화 도구
- 리눅스 컨테이너 기술인 LXC(Linux Containers) 기반
- 애플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술
- 다양한 운영체제에서 사용할 수 있으며, 컨테이너화된 애플리케이션을 손쉽게 빌드, 배포, 관리할 수 있는 다양한 기능을 제공
Container
- 가상화 기술 중 하나
- 호스트 운영체제 위에 여러 개의 격리된 환경을 생성
- 각각의 컨테이너 안에서 애플리케이션을 실행
- 리눅스 커널의 기능을 사용하여 만들어짐
- 프로세스 단위의 격리 환경
가상화(Virtualization) 기술
- 하나의 물리적인 컴퓨터 자원(CPU, 메모리, 저장장치 등)을 가상적으로 분할하여 여러 개의 가상 컴퓨터 환경을 만들어 내는 기술
- 물리적인 컴퓨터 자원을 더욱 효율적으로 사용
- 서버나 애플리케이션 등을 운영하는데 있어 유연성과 안정성을 제공
- 하이퍼바이저(Hypervisor)
- 가상 머신을 생성하고 구동하는 소프트웨어
- OS에 자원을 할당 및 조율
- OS들의 요청을 번역하여 하드웨어에 전달
Docker Architecture
- 도커 데몬(Docker daemon)
- 도커 엔진의 핵심 구성 요소
- 도커 호스트에서 컨테이너를 관리하고 실행하는 역할
- 컨테이너를 생성, 시작, 중지, 삭제하는 등의 작업을 수행
- 컨테이너 이미지를 관리하고
- 외부에서 이미지를 다운로드하고 빌드하는 작업을 수행
- 도커 클라이언트(Docker Client)
- Docker와 상호 작용
- docker 명령어를 사용하면 Docker daemon으로 보내어 실행
- 도커 오브젝트(Docker Object)
- 도커 이미지(Docker Image)
- 도커 컨테이너를 만들기 위한 읽기 전용 템플릿
- 도커 컨테이너(Docker Container)
- 한 도커 이미지의 실행 가능한 인스턴스
- 애플리케이션을 실행하기 위한 모든 파일과 설정 정보를 포함하는 패키지
- 도커 레지스트리(Docker Registries)
- 도커 이미지(Docker Image)를 관리하고 저장하는 곳
- Docker hub : 디폴트 레지스트리, 누구나 접근 가능한 공개형 저장소
- 도커 이미지(Docker Image)를 관리하고 저장하는 곳
- 도커 이미지(Docker Image)
참고 👇
https://docs.docker.com/get-started/overview/
반응형
'DevOps > Docker' 카테고리의 다른 글
COPY ${JAR_FILE} app.jarWhen using COPY with more than one source file, the destination must be a directory and end with a / (0) | 2023.05.05 |
---|---|
[Error] docker endpoint for "default" not found (0) | 2023.05.02 |
Docker Compose (0) | 2022.05.05 |
Dockerfile (0) | 2022.04.25 |
Docker 실행 시 환경 변수 옵션 주기(feat. Jasypt) (0) | 2022.04.15 |