4.6 요약
• 컨테이너를 사용하면 개발자 컴퓨터부터 물리 또는 가상의 엔터프라이즈 서버까지 모든 환경에서 개발 중인 소프트웨어를 성공적으로 실행할 수 있다.
• 가상 머신(VM)을 사용하면 다른 컴퓨터에서 다른 컴퓨터의 동작을 에뮬레이션할 수 있다. 이것은 물리 머신을 완전히 모방하는 하이퍼바이저에 기반을 두며 요구되는 양의 시스템 메모리, 프로세서 코어, 디스크 스토리지나 PCI 추가 기능 등 다른 리소스를 할당한다.
• 컨테이너는 격리되고 독립적인 환경에서 의존 요소와 애플리케이션을 포함해서 실행할 수 있는 운영 체제(OS) 가상화 방법 중 하나다.
• 컨테이너를 사용하면 실행 프로세스의 속도를 높이는 경량의 VM을 만들어 일반 비용을 줄여 각 프로젝트 비용을 절감할 수 있다.
• 도커는 리눅스 컨테이너를 기반으로 하는 인기 있는 오픈 소스 컨테이너 엔진으로, 2013년 dotCloud 설립자인 솔로몬 하익스가 개발했다.
• 도커는 도커 엔진, 클라이언트, 레지스트리, 이미지, 컨테이너, 볼륨, 네트워크라는 요소로 구성되어 있다.
• Dockerfile은 도커 클라이언트가 이미지를 생성하고 준비하고자 호출하는 지시와 명령어가 포함된 단순한 테스트 파일이다. 이 파일은 이미지 생성 과정을 자동화한다. Dockerfile에 사용된 명령은 리눅스 명령과 유사해서 이해하기 더 쉽다.
• 도커 컴포즈는 서비스를 그룹으로 정의하고 단일 단위로 함께 시작할 수 있게 해 주는 서비스 오케스트레이션 도구다.
• 도커 컴포즈는 도커 설치 과정의 일부로 설치된다.
• Dockerfile 메이븐 플러그인은 메이븐과 도커를 통합한다.