1. 도커란?
도커는 그룹 PaaS 모델, 오픈 소스이며 가볍다. 현재 가장 널리 사용되는 가상화 또는 컨테이너화 기술 중 하나이다. 컨테이너를 사용하여 애플리케이션을 구축, 배포 및 실행하면 이 전체 프로세스가 더 쉽고 비용 효율적이다.
컨테이너에서 개발자는 필요한 모든 부분(예 : 라이브러리, 데이터베이스 등)으로 애플리케이션을 패키징하고 단일 패키지로 래핑한다. 이는 사용자에게 상당한 성능 향상을 제공하고 애플리케이션 크기를 줄여 사용하기 쉽게 만든다.
2. 도커는 어떻게 작동하는가?
Docker는 포괄적인 방식으로 작동한다. 클라이언트-서버 아키텍처를 기반으로 하며 클라이언트, 컨테이너가 있는 데몬으로서의 호스트, 작동할 이미지가 있는 도커 레지스트리가 필요하다.
도커 클라이언트 : Docker 클라이언트는 여러 Docker 사용자가 Docker와 상호 작용하는 초기 방법이다. Docker 클라이언트는 둘 이상의 Docker 데몬과 통신을 설정할 수 있다.
이미지 : 이미지는 Docker의 템플릿이다. 여기에는 응용프로그램의 필수 요소가 포함되어 있다. Docker 컨테이너는 Docker이미지의 복제본이다.
호스트 또는 Docker 데몬 : Docker 데몬 aka 호스트는 명령을 수락한다. 클라이언트에서 또는 REST API 내에서 명령을 받는다. 클라이언트의 경우 명령줄 인터페이스의 도움으로 작업을 수행한다. Docker Daemon은 시스템에 Docker 레지스트리도 있다.
도커 레지스트리 : 호스트 시스템에 있다. Docker Registry는 이미지를 빌드하고 배포한다. 이미지는 팀의 다른 구성원 간에 공유할 수 있다. 관리자의 선택에 따라 이 프로세스는 공개 또는 비공개가 될 수 있다.
3. Docker 레지스트리는 비공개 또는 공개가 될 수 있다?
Docker 레지스트리는 스토리지 시스템이다. 디스트리뷰터로서의 역할도 겸하고 있다. Docker 이미지를 저장하고 배포한다. Docker 리포지토리로 정렬된다. 그러나 Docker 레지스트리는 비공개 또는 공개가 될 수 있다.
Docker 레지스트리가 공용인 경우 저장소의 모든 이미지는 다른 Docker 허브 사용자가 엑세스할 수 있다. 비공개인 경우 이미지가 로컬에서 개발되어 Docker 허브에 배치된다. 다른 Docker 허브 사용자는 액세스 할 수 없다.
4. Docker Container 의 몇 가지 장점
Docker 컨테이너를 사용하면 많은 이점이 있다. 주요 기능 중 일부는 다음과 같다.
- 여러 프로그레시브 및 릴리스 주기에서 일관성을 보장한다.
- 간단하고 쉬운 초기 설정과 함께 제공된다.
- 애플리케이션 수명 주기를 쉽게 자세히 설명할 수 있다.
- 운영 비용을 줄여 비용을 절감하는데 도움이 된다.
- Docker는 다른 컨테이너 플랫폼보다 빠르게 소프트웨어를 전송할 수 있다.
- 컨테이너에서 불필요하고 수사학적인 파일을 유지하는데 도움이 된다.
- 로컬 개발 기계를 생산 폐기로 옮기는 경우 인생을 바꾸는 경험을 하게 될 것이다.
5. Docker를 사용해야 하는 이유는 무엇인가
Docker를 사용하면 컨테이너 기술로 서버 에코시스템을 원활하게 관리할 수 있다. 이 기능은 다양한 개발 환경에서 작업하는 개발자에게 매우 효율적이다. Docker는 혁신의 길에서 어려움을 제거한다.
또한 Docker 컨테이너는 Docker를 실행할 수 있는 모든 시스템과 호환된다. Docker를 사용하면 팀 구성원 내에서 컨테이너의 정확한 사양을 포함하는 Docker 파일을 쉽게 배포할 수 있다. 그리고 동일한 Docker 파일에서 빌드된 모든 이미지가 동일하게 작동하는지 확인
6. Docker의 중요한 기능은 무엇인가
Docker의 몇 가지 중요한 기능은 다음과 같다.
- 쉬운 건축가
- 향상된 생산성
- 간편한 애플리케이션 격리 기술
- 스마트 보안 관리
- Docker Swarm 통합 - Docker용 클러스터링 및 스케줄링 매커니즘
- 라우팅 매쉬를 제공한다.
- 신뢰할 수 있는 서비스
7. Docker에 대한 몇 가지 대안
Docker는 컨테이너 세계의 선구자로 간주되지만 요즘에는 다른 많은 컨테이너 기술이 고개를 들고 있다. 이제 Docker의 대안으로 여러 다른 컨테이너 플랫폼을 고려할 수 있다. 그들은 - 쿠버네티스, 오픈 컨테이너 이니셔티브, 가상 상자, 방랑자, 목장 경영자, Apache Mesos 및 기타
8. Docker와 Kubernetes의 몇 가지 차이점은
- Docker는 설정이 더 쉽지만 강력한 클러스터가 없다. 그러나 Kubernetes는 강력한 클러스터를 보장하는 복잡한 설정과 함께 제공된다.
- Docker는 Kubernetes보다 5배 빠른 확장성을 제공
- 그러나 Kubernetes와 달리 Docker에는 GUI가 없다.
- Docker의 클러스터링 및 스케줄링 도구인 Docker Swarm은 자동 로드 밸런싱을 제공하는 반면 Kubernetes에서는 트래픽 로드 밸런싱을 위해 수동으로 개입이 필요하다.
- Docker Swarm에는 로깅 및 모니터링을 위한 타사 도구가 필요하겠지만 Kubernetes는 그렇지 않다.
- Docker Swarm은 다른 컨테이너와 스토리지 볼륨을 쉽게 공유할 수 있지만 Kubernetes는 동일한 포드의 다른 컨테이너와 스토리지를 공유할 수 있기 때문에 데이터 볼륨 측면에서 제한적이다.
9. Docker의 주요 단점은?
Docker는 몇 년 동안 컨테이너 플랫폼을 실행하고 있음을 부인할 수 없다. 다른 많은 유사한 컨테이너 기술보다 주목할만한 의미가 있다. 그러나 너무 완벽한 것은 없으며 Docker에도 몇 가지 단점이 있다.
- 그것은 어떤 저장 시설과 함께 오지 않다
- Docker는 좋지 않은 모니터링 기능을 제공한다.
- 컨테이너는 여전히 일부 메모리를 사용할 수 있다.
- Docker는 다른 기술보다 비교적 비쌀 수 있다.
- 수평확장을 위한 복잡한 설정을 제공한다.
- Docker는 비활성 노드에 대한 일정 변경을 제공하지 않는다.
10. Docker는 VM입니까? 그렇지 않다면 이유는?
컨테이너에는 가상 머신과 유사한 리소스 분리 이점이 있다. 사실, 둘 다 거의 동일한 할당 유틸리티를 공유한다.그러나 기능에 따라 다르다.
컨테이너는 가상 머신이 하드웨어를 시뮬레이션하는 운영체제를 가상화한다. 컨테이너를 쉽게 이동할 수 있으며 매우 효율적이다. 그리고 각각이 분리되어 실행되기 때문에 하나의 OS 커널을 공유할 수 있ㄷ다. 따라서 컨테이너는 가상 머신보다 공간을 덜 차지한다.
그러나 모든 가상 머신은 하드웨어를 시뮬레이션하는 동안 모든 운영체제의 복제본을 포함한다. 이 OS 사본에는 응용프로그램, 필수 바이너리 및 기타 중요한 구성 요소가 포함된다. 컨테이너보다 훨씬 더 많은 공간을 차지한다.
참고 : https://ciksiti.com/ko/chapters/5766-50-frequently-asked-docker-interview-questions-and-answers
'Back-End > Docker' 카테고리의 다른 글
[Docker] 명령어 정리 (0) | 2023.08.11 |
---|---|
Docker 인터뷰(2) (0) | 2022.11.26 |
[Docker] 도커에 Spring Boot 구축 (0) | 2022.10.20 |
[Mac OS] Docker 설치 (0) | 2022.10.19 |
Docker 설치 (0) | 2022.05.24 |