Docker 사용하는 이유
- 물리 서버에 수많은 VM을 설치하여 장애조치와 서버 이중화를 지원하고 하드웨어 활용률을 높였습니다.
- VM은 Host O/S 위에 Hypervisor 엔진 위에 Guest O/S를 올려 사용합니다.
- O/S위에 O/S를 올리기 때문에 무겁고 느려집니다.
Docker란
- 리눅스 컨테이너를 기반으로 하는 오픈소스 가상화 플랫폼입니다.
- 컨테이너 기반 가상화는 Host O/S 위에 Docker 엔진 위에서 바로 동작하며 Host 커널을 공유합니다.
- 커널을 공유하면 I/O 처리가 쉽게 되어 성능의 효율을 높일 수 있습니다.
- 컨테이너를 사용하는 것은 Host O/S가 사용하는 자원을 분리하여 프로세스에 필요한 여러 환경을 만들 수 있기 때문입니다.
Dockerfile이란?
- 도커는 이미지라는 패키지 형태로 애플리케이션과 그 실행에 필요한 종속성을 포함하며, 설정한 이미지를 기반으로 컨테이너를 생성하여 실행할 수 있습니다.
- Dockerfile을 사용하여 Docker 이미지를 정의합니다.
- Dockerfile은 컨테이너에 설치할 소프트웨어, 설정 값, 실행 명령 등을 명시하는 스크립트 형태의 파일입니다.
- Dockerfile을 통한 이미지 빌드와 컨테이너 실행은 개발과 배포 과정을 단순화하여 빠르게 진행할 수 있습니다.
- 버전 관리를 할 수 있으며 다른 개발자와 공유하며 일관된 개발 환경을 유지할 수 있습니다.
Docker-Compose란?
- 각 컨테이너를 일일히 실행하기 어려워 여러 개의 프로젝트를 하나의 프로젝트로 다룰 수 있는 작업 환경을 제공합니다.
- 단일 서버에서 여러 개의 컨테이너를 하나의 서비스로 정의해, 묶음으로 관리할 수 있는 작업 환경을 제공하는 관리 도구입니다.
'면접 질문지 소스' 카테고리의 다른 글
면접질문: Spring Framework에서 Annotation을 사용하는 예시를 설명해주세요. (0) | 2024.05.07 |
---|---|
면접질문: Java Annotation에 대해 설명해주세요. (0) | 2024.05.07 |
면접질문: OSI 7계층 vs TCP/IP 4계층 (0) | 2024.04.30 |
면접질문: TCP와 UDP의 차이에 대해 설명해주세요. (0) | 2024.04.25 |
면접질문: Context-Switching에 대해 설명해주세요. (0) | 2024.04.24 |