컨테이너를 사용하여 애플리케이션을 독립된 작업 또는 프로세스로 분할함으로써 배포된 애플리케이션을 생성할 수 있습니다(예: 마이크로 서비스). 예를 들어, 웹 서버, 애플리케이션 서버, 메시지 대기열, 백엔드 작업자별로 별도의 컨테이너를 만들 수 있습니다. 컨테이너는 단일 작업 또는 프로세스 실행에 적합하므로 확장하거나 축소할 때 작업의 기본 단위로 컨테이너를 사용할 수 있습니다. 애플리케이션의 각 구성 요소는 각기 다른 컨테이너 이미지로 구성될 수 있습니다. Docker 컨테이너는 프로세스 격리를 제공하여 각 컨테이너에서 실행 중인 프로그래밍 언어나 라이브러리에 관계없이 다른 구성 요소를 나란히 실행 및 조정할 수 있습니다.

Amazon EC2 Container Service

시작하기

작업을 컨테이너에 패키징하고 공유 클러스터에 배포함으로써 컨테이너를 배치 및 ETL 작업에 사용할 수 있습니다. 컨테이너가 서로 격리되어 있으므로 각기 다른 버전의 같은 작업이나 여러 작업을 동일한 클러스터 또는 동일한 인스턴스에서도 실행할 수 있습니다. 클러스터 용량을 애플리케이션과 같은 다른 프로세스와 공유하여 클러스터의 로드 변동을 활용할 수도 있습니다. 작업을 빠르게 시작하고 수요에 따라 작업을 동적으로 증가시킴으로써 리소스 활용도를 높일 수 있습니다.

Docker에서 이미지 버전 관리 시스템을 제공함에 따라 컨테이너를 사용한 지속적인 통합 및 배포가 가능합니다. 리포지토리에서 코드를 가져오고, 구축하고, Docker 이미지에 패키징하여 새로 생성된 이미지를 이미지 리포지토리로 밀어 넣도록 빌드 프로세스를 설정할 수 있습니다. 그런 다음 리포지토리에서 신규 이미지를 가져오고, 애플리케이션을 테스트하고, 프로덕션 서버에 배포하도록 배포 프로세스를 설정할 수 있습니다. Docker 데몬이 개발, 준비, 프로덕션 시스템에서 모두 동일하므로 애플리케이션이 개발 환경에서는 작동하나 프로덕션 환경에서 작동하지 않는 경우가 없습니다.