43개 이상의 Docker 인터뷰 질문 및 답변(2024)

다음은 신입 및 경력 DevOps 엔지니어를 위한 Docker 채용 면접에서 자주 묻는 질문입니다.

 

신입생을 위한 Docker 인터뷰 질문 및 답변

1. 도커란?

Docker는 오픈 소스 경량 컨테이너화 기술입니다. 클라우드 및 애플리케이션 패키징 세계에서 널리 인기를 얻었습니다. 이를 통해 가볍고 휴대 가능한 컨테이너에서 애플리케이션 배포를 자동화할 수 있습니다.


2. Docker 컨테이너를 사용하면 어떤 이점이 있나요?

여기에 사용하면 가장 큰 장점은 다음과 같습니다. 도커.

  • 효율적이고 쉬운 초기 설정 제공
  • 애플리케이션 수명주기를 자세히 설명할 수 있습니다.
  • 구성이 간단하고 Docker Compose와 상호 작용합니다.
  • 문서는 모든 정보를 제공합니다.

3. Docker의 중요한 기능은 무엇입니까?

Docker의 필수 기능은 다음과 같습니다.

  • 쉬운 모델링
  • 버전 관리
  • 배치/친화도
  • 애플리케이션 민첩성
  • 개발자 생산성
  • Opera이론적 효율성

4. Docker의 주요 단점은 무엇입니까?

Docker의 몇 가지 주목할만한 단점은 다음과 같습니다.

  • 저장 옵션을 제공하지 않습니다
  • 열악한 모니터링 옵션을 제공합니다.
  • 비활성 노드의 자동 일정 조정 없음
  • 복잡한 자동 수평 확장 설정

5. 도커 이미지란 무엇인가요?

Docker 이미지는 Docker 컨테이너를 만드는 데 도움이 됩니다. build 명령을 사용하여 Docker 이미지를 생성할 수 있습니다. 이로 인해 실행이 시작될 때 시작되는 컨테이너가 생성됩니다. 모든 도커 이미지는 Docker 레지스트리에 저장됩니다.


6. 도커 엔진이란 무엇입니까?

Docker 데몬 또는 Docker 엔진은 서버를 나타냅니다. Docker 데몬과 클라이언트는 명령줄 클라이언트 바이너리 및 전체를 통해 통신할 수 있는 동일한 호스트 또는 원격 호스트에서 실행되어야 합니다. RESTful API.


7. 레지스트리 설명

레지스트리에는 두 가지 유형이 있습니다.

  • 공공 레지스트리
  • 개인 레지스트리

Docker의 공개 레지스트리를 Docker 허브라고 하며 이를 통해 이미지를 비공개로 저장할 수 있습니다. Docker 허브에는 수백만 개의 이미지를 저장할 수 있습니다.


8. Docker에서 실행 중인 모든 컨테이너를 보려면 어떤 명령을 실행해야 합니까?

$ docker ps

9. 도커 컨테이너를 중지하는 명령을 작성합니다.

$ sudo docker stop container name

10. 이미지를 컨테이너로 실행하는 명령은 무엇입니까?

$ sudo docker run -i -t alpine /bin/bash

숙련된 전문가를 위한 Docker 인터뷰 질문

11. Dockerfile의 공통 명령은 무엇입니까?

Dockerfile의 일반적인 명령은 FROM, LABEL, RUN 및 CMD입니다.


12. 메모리 스왑 플래그란 무엇입니까?

메모리 스왑은 메모리도 설정된 경우에만 의미가 있는 수정된 플래그입니다. 스왑을 사용하면 컨테이너가 사용 가능한 RAM을 모두 소진했을 때 컨테이너가 디스크에 빠른 메모리 요구 사항을 기록할 수 있습니다.


13. Docker Swarm에 대해 설명해주세요.

Docker Swarm은 Docker 호스트 그룹을 단일 및 가상 Docker 호스트로 만드는 데 도움이 되는 Docker용 기본 수집입니다. 표준 Docker 응용 프로그램 인터페이스를 제공합니다.


14. 프로덕션 환경에서 Docker를 어떻게 모니터링할 수 있습니까?

Docker 상태 및 Docker 이벤트는 프로덕션 환경에서 Docker를 모니터링하는 데 사용됩니다.


15. Docker 컨테이너의 상태는 무엇입니까?

Docker 컨테이너의 중요한 상태는 다음과 같습니다.

  • 달리는
  • 일시 중지됨
  • 다시 시작
  • 종료

16. 도커 허브란 무엇입니까?

Docker 허브는 코드 리포지토리에 연결하는 데 도움이 되는 클라우드 기반 레지스트리입니다. Docker 클라우드에 이미지를 구축, 테스트, 저장할 수 있습니다. Docker 허브를 사용하여 이미지를 호스트에 배포할 수도 있습니다.


17. 가상화란 무엇입니까?

가상화는 메인프레임을 논리적으로 나누어 여러 애플리케이션을 동시에 실행할 수 있는 방법입니다.

하지만 기업과 오픈 소스 커뮤니티가 특권 명령을 처리하는 방법을 제공할 수 있게 되면서 이 시나리오는 바뀌었습니다. 이를 통해 여러 OS가 단일 x86 기반 시스템에서 동시에 실행될 수 있습니다.


18. 하이퍼바이저란 무엇입니까?

하이퍼바이저를 사용하면 게스트 가상 머신이 작동하는 가상 환경을 만들 수 있습니다. 게스트 시스템을 제어하고 필요에 따라 리소스가 게스트에게 할당되는지 확인합니다.

Docker와 Hypervisor의 가상화

Docker와 Hypervisor의 가상화


19. Docker 객체 라벨 설명

Docker 개체 레이블은 이미지, 컨테이너, 볼륨, 네트워크, 스웜 노드 및 서비스를 포함한 Docker 개체에 메타데이터를 적용하는 방법입니다.


20. Docker 파일을 작성하여 디렉토리를 생성 및 복사하고 Python 모듈을 사용하여 빌드하시겠습니까?

FROM pyhton:2.7-slim

WORKDIR /app

COPY . /app

docker build –tag

21. 도커 볼륨은 어디에 저장되나요?

다음을 탐색해야 합니다.

 /var/lib/docker/volumes

22. 몇 가지 중요한 고급 도커 명령을 나열합니다.

명령 상품 설명
도커 정보 정보사령부
도커 풀 이미지 다운로드
도커 통계 컨테이너 정보
고정 이미지 다운로드한 이미지 목록

23. Docker 클라이언트와 Docker Daemon 간의 통신은 어떻게 이루어지나요?

Rest API, 소켓.IO, TCP의 조합을 통해 Docker 클라이언트와 Docker Daemon 간에 통신할 수 있습니다.


24. Docker에서 CI(지속적 통합) 및 CD(지속적 개발) 구현 방법을 설명하십시오.

다음과 같은 작업을 수행해야 합니다.

  • Docker에서 Jenkins를 실행합니다.
  • docker-compose를 사용하여 Jenkins에서 통합 테스트를 실행할 수 있습니다.

25. Systemd로 Docker를 제어하는 ​​명령은 무엇입니까?

systemctl start/stop docker
service docker start/stop

26. YAML 작성 파일 대신 JSON을 사용하는 방법은 무엇입니까?

docker-compose -f docker-compose.json up

27. 새 이미지를 Docker 레지스트리에 푸시하기 위해 제공해야 하는 명령은 무엇입니까?

docker push myorg/img

28. 복사/추가 또는 볼륨에 코드를 포함하는 방법은 무엇입니까?

docker 파일에서는 COPY 또는 ADD 지시어를 사용해야 합니다. 이는 코드를 재배치하는 데 유용합니다. 그러나 변경을 하려면 볼륨을 사용해야 합니다.


29. Docker 컨테이너 확장 프로세스를 설명하세요.

Docker 컨테이너는 수백 개부터 수천 또는 수백만 개의 컨테이너까지 모든 수준으로 확장할 수 있습니다. 이에 대한 유일한 조건은 컨테이너에 항상 메모리와 OS가 필요하고 Docker가 확장될 때 제약 조건이 없어야 한다는 것입니다.


30. Docker 컨테이너를 생성하는 방법은 무엇입니까?

아래 명령을 사용하여 Docker 컨테이너를 생성하기 위해 특정 Docker 이미지를 사용할 수 있습니다.

docker run -t -i command name

이 명령은 컨테이너를 생성할 뿐만 아니라 자동으로 시작합니다.


5년 경력의 Docker 인터뷰 질문

31. Docker 컨테이너 수명주기의 단계는 무엇입니까?

Docker 수명주기의 단계는 다음과 같습니다.

  • 짓다
  • 당기세요
  • 달리기

32. 단일 서비스를 사용하여 여러 컨테이너를 어떻게 실행할 수 있습니까?

docker-compose를 사용하면 단일 서비스를 사용하여 여러 컨테이너를 실행할 수 있습니다. 모든 docker-compose 파일은 yaml 언어를 사용합니다.


33. CNM이란 무엇입니까?

CNM은 컨테이너 네트워킹 모델을 의미합니다. Docker 환경에서 컨테이너 네트워킹의 기초를 형성하는 Docker, Inc.의 표준 또는 사양입니다. 이 Docker의 접근 방식은 여러 네트워크 드라이버를 지원하는 컨테이너 네트워킹을 제공합니다.


34. Docker는 IPV6에 대한 지원을 제공합니까?

예, Docker는 IPv6을 지원합니다. IPv6 네트워킹은 Linux 호스트에서 실행되는 Docker 데몬에서만 지원됩니다. 그러나 Docker 데몬에서 IPv6 지원을 활성화하려면 /etc/docker/daemon.json을 수정하고 ipv6 키를 true로 설정해야 합니다.


35. 컨테이너가 종료되면 데이터가 손실될 수 있나요?

아니요. 애플리케이션이 디스크에 쓰는 모든 데이터는 컨테이너에 저장됩니다. 컨테이너가 정지된 후에도 컨테이너의 파일 시스템은 유지됩니다.


36. Docker에서 사용할 수 있는 다양한 종류의 볼륨 마운트 유형은 무엇입니까?

바인드 마운트 - 호스트 시스템의 어느 곳에나 저장할 수 있습니다.


37. Docker에서 기본 로깅 드라이버를 구성하는 방법은 무엇입니까?

특정 로깅 드라이버를 기본값으로 지정하도록 Docker 데몬을 구성합니다. log-driver 값을 로깅 드라이브 daemon.jason.fie의 이름으로 설정해야 합니다.


38. Docker Trusted Registry에 대해 설명해주세요.

Docker Trusted Registry는 Docker를 위한 엔터프라이즈급 이미지 저장소입니다. 애플리케이션에서 사용하는 Docker 이미지를 안전하게 관리할 수 있도록 방화벽 뒤에 설치해야 합니다.


39. Docker 네임스페이스란 무엇입니까?

Docker의 네임스페이스는 컨테이너라는 격리된 작업 공간을 제공하는 기술입니다. 네임스페이스는 Docker 컨테이너에 대한 격리 계층도 제공합니다.


40. Docker의 세 가지 구성요소는 무엇입니까? Archi강의

  • Client
  • 도커 호스트
  • 레지스트리

41. 클라이언트란 무엇인가요?

Docker는 Docker 데몬과 상호 작용할 수 있도록 클라이언트에 명령줄 인터페이스 도구를 제공합니다.


42. Docker_Host의 목적은 무엇입니까?

여기에는 컨테이너, 이미지 및 Docker 데몬이 포함되어 있습니다. 애플리케이션을 실행하고 실행할 수 있는 완벽한 환경을 제공합니다.


43. 동일한 호스트에서 Compose 파일의 여러 복사본을 어떻게 실행합니까?

Compose는 프로젝트의 모든 컨테이너 및 기타 리소스에 대한 고유 식별자를 만들 수 있는 프로젝트 이름을 사용합니다. 프로젝트의 여러 복사본을 실행하려면 -a 명령줄 옵션을 사용하거나 COMPOSE_PROJECT_NAME 환경 변수를 사용하여 사용자 정의 프로젝트 이름을 설정하세요.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.