728x90
반응형
애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼
*자세한 설명 생략
▷ Docker 란?
- Container 기반의 오픈소스 가상화 플랫폼
- 하나의 Host OS위에 Docker를 설치하여 다수의 Container를 생성하고 관리
*Container : 리눅스 자체 기능을 사용한 프로세스 단위의 독립된 환경 안의 가상공간
*Container에 필요한 커널은 Host OS의 커널을 공유하여 사용
(애플리케이션을 구동하는데 필요한 패키지만 있으면 Container 구동)
*커널 : 컴퓨터 자원을 관리하는 OS의 핵심 부분(쉘 : 사용자와 커널 사이의 인터페이스) - VM보다 가볍고 빠르고 효율적
- 확장성과 이식성이 뛰어남
- Docker가 설치돼 있다면 Image를 통해 Container 실행 가능
*Image : Container를 실행하기 위한 불변파일(Container의 압축파일) - 다른 서버에서 Image 저장소를 통해 Image 다운로드 가능
*Image로 Container를 생성하기 때문에 반드시 이미지를 만드는 과정이 필요(버전관리) - Container라는 표준으로 서버에 배포하므로 여러 서비스들의 배포 과정이 동일
*docker compose up : 여러 개의 Container로부터 이루어진 서비스를 구축, 실행하는 순서를 자동으로 하여, 관리를 간단히 하는 기능
▷ vs 기존 가상화(VM, Virtual Machine)
*VM은 OS를 가상화하고 Docker는 프로세스를 격리
- Hypervisor를 통해 여러 Guest OS를 생성하고 관리
- VM은 여러 Guest OS를 위한 자원을 각각 할당하기 때문에 무겁고 느림
*Guest OS : VM의 OS - GusetOS 끼리 분리 독립된 공간과 자원을 할당받아 사용되기 때문에, 보안성 측면에서 효율적
▷ 참고
▷ 관련 글
728x90
728x90
'▶ Back-End > 개념 요약' 카테고리의 다른 글
Tomcat 이란? (0) | 2023.08.04 |
---|---|
Lombok이란? (0) | 2023.07.25 |
TDD, BDD, DDD란? (0) | 2023.07.23 |
PWA 란? (0) | 2023.03.14 |
HTML5 란? (0) | 2023.03.09 |
댓글