Docker란 무엇입니까?

Docker를 통해 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있습니다

Docker-Logo_Horizontel_279x131

Docker는 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다.

AWS에서 Docker를 실행하면 개발자와 관리자가 어떠한 규모에서든 매우 안정적이며 저렴한 방식으로 애플리케이션을 구축, 제공 및 실행할 수 있습니다. AWS에서는 두 가지 Docker 라이선싱 모델, 즉 오픈 소스 Docker Community Edition(CE)과 구독 기반의 Docker Enterprise Edition(EE) 둘 다 지원합니다.

Docker 작동 방식

Docker는 코드를 실행하는 표준 방식을 제공합니다. Docker는 컨테이너를 위한 운영 체제입니다. 가상 머신이 서버 하드웨어를 가상화하는 방식과 비슷하게(직접 관리해야 하는 필요성 제거) 컨테이너는 서버 운영 체제를 가상화합니다. Docker는 각 서버에 설치되며 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령을 제공합니다.

AWS Fargate, Amazon ECSAmazon EKSAWS Batch와 같은 AWS 서비스를 사용하면 Docker 컨테이너를 대규모로 실행하고 관리할 수 있습니다.

monolith_2-VM-vs-Containers

Docker를 사용해야 하는 이유

Docker를 사용하면 코드를 더 빨리 전달하고, 애플리케이션 운영을 표준화하고, 코드를 원활하게 이동하고, 리소스 사용률을 높여 비용을 절감할 수 있습니다. Docker를 사용하면 어디서나 안정적으로 실행할 수 있는 단일 객체를 확보하게 됩니다. Docker의 간단한 구문을 사용해 완벽하게 제어할 수 있습니다. 폭넓게 도입되었다는 것은 Docker를 사용할 수 있는 도구 및 상용 애플리케이션의 에코시스템이 강력하다는 의미입니다.

100x100_benefit_deployment1

더 많은 소프트웨어를 더 빨리 제공

Docker 사용자는 평균적으로 Docker를 사용하지 않는 사용자보다 7배 더 많은 소프트웨어를 제공합니다. Docker를 사용하면 필요할 때마다 격리된 서비스를 제공할 수 있습니다.

100x100_benefit_tools

운영 표준화

작은 컨테이너식 애플리케이션을 사용하면 손쉽게 배포하고, 문제를 파악하고, 수정을 위해 롤백할 수 있습니다.

100x100_benefit_migration

원활하게 이전

Docker 기반 애플리케이션을 로컬 개발 시스템에서 AWS의 프로덕션 배포로 원활하게 이전할 수 있습니다.

100x100_benefit_lowcost-affordable

비용 절감

Docker 컨테이너를 사용하면 각 서버에서 좀 더 쉽게 더 많은 코드를 실행하여 사용률을 높이고 비용을 절감할 수 있습니다.

Docker를 사용하는 경우

Docker 컨테이너를 최신 애플리케이션 및 플랫폼을 생성하는 핵심 빌딩 블록으로 사용할 수 있습니다. Docker에서는 손쉽게 분산 마이크로 서비스 아키텍처를 구축 및 실행하고, 표준화된 지속적 통합 및 지속적 전달 파이프라인을 통해 코드를 배포하고, 고도로 확장 가능한 데이터 처리 시스템을 구축하고, 개발자를 위한 완전관리형 플랫폼을 생성할 수 있습니다.

100x100_benefit_ccontainers

마이크로 서비스

Docker 컨테이너를 통해 표준화된 코드 배포를 활용하여 분산 애플리케이션 아키텍처를 구축하고 확장합니다.

100x100_benefit_delivery

지속적인 통합 및 제공

환경을 표준화하고 언어 스택 및 버전 간의 충돌을 제거함으로써 애플리케이션을 더욱 빠르게 제공합니다.

AWS_Benefit Icon_AutomatedOperations

데이터 처리

빅 데이터 처리를 서비스로서 제공합니다. 데이터 및 분석 패키지를 기술자가 아닌 사용자도 실행할 수 있는 이동식 컨테이너로 패키징합니다.

100x100_benefit_get-started-2

서비스로서의 컨테이너

안전한 IT 관리형 인프라와 콘텐츠로 분산 애플리케이션을 구축 및 제공합니다.

Docker FAQ

Q: Docker는 무료입니까?

Docker Community Edition(CE)은 무료로 누구나 사용할 수 있습니다. 이 Docker 버전은 오픈 소스로서, Windows, Mac 및 Linux를 비롯한 다양한 플랫폼에서 사용할 수 있습니다. Docker CE를 직접 컴퓨터 또는 Amazon EC2 가상 머신 인스턴스에 설치하거나 Amazon ECS 최적화 AMI를 통해 즉시 사용을 시작할 수 있습니다.

Docker Enterprise Edition(EE)에는 워크플로 관리 및 보안을 위한 기능이 추가되어 있으며 AWS Marketplace를 통해 유료로 구독할 수 있습니다.

Q: Docker로 어떤 작업을 할 수 있습니까?

Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다. 이는 Docker가 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하기 때문에 가능한 것입니다. 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다.

Q: Docker 이미지란 무엇입니까?

Docker 이미지는 컨테이너를 정의하는 읽기 전용 템플릿입니다. 이 이미지에는 코드에 필요한 라이브러리 및 종속성에 대한 정의를 비롯해 실행되는 코드가 포함되어 있습니다. Docker 컨테이너는 인스턴스화된(실행되는) Docker 이미지입니다. AWS에서는 Docker 이미지를 저장하고 신속하게 검색할 수 있는 이미지 레지스트리인 Amazon Elastic Container Registry(ECR)를 제공합니다.

Q: Docker Swarm, Kubernetes 및 Amazon ECS의 차이점은 무엇입니까?

Docker 컨테이너를 대량으로 실행하고자 하는 경우, Docker Swarm, KubernetesAmazon Elastic Container Service(ECS)와 같은 오케스트레이션 도구를 사용하면 수천 개(또는 수백만 개)의 컨테이너를 시작, 중단 및 모니터링할 수 있습니다. 

Docker Swarm은 Docker에서 개발한 컨테이너 오케스트레이션 소프트웨어로서 사용자가 직접 실행하고 관리합니다. Kubernetes는 커뮤니티에서 유지 관리하는 인기 있는 오픈 소스 컨테이너 오케스트레이션 소프트웨어로서 사용자가 직접 실행하고 관리합니다. Amazon EKS는 컨테이너용 Kubernetes 제어 플레인을 제공하므로 좀 더 쉽게 AWS에서 Kubernetes를 실행할 수 있습니다. Amazon ECS는 VPC, 로드 밸런싱, 서비스 검색, IAM 역할과 같은 AWS 서비스와 긴밀히 통합되어 AWS에서 손쉽게 컨테이너를 실행할 수 있는 완전관리형 AWS 서비스입니다.

Q: Docker와 가상 머신의 차이점은 무엇입니까?

가상 머신(VM)은 서버 하드웨어를 가상화(또는 직접 관리할 필요성을 제거)하는 반면, 컨테이너는 서버의 운영 체제를 가상화합니다. Docker는 컨테이너를 위한 운영 체제(또는 런타임)입니다. 컨테이너를 실행하려는 각 서버에 Docker Engine이 설치되어 컨테이너를 구축, 시작 또는 중단하는 데 사용할 수 있는 간단한 명령 세트를 제공합니다.

monolith_2-VM-vs-Containers

AWS에서 Docker 실행

AWS는 Docker 오픈 소스 및 상용 솔루션 모두에 대한 지원을 제공합니다. AWS에서 컨테이너를 실행하는 방법에는 몇 가지가 있습니다. 그중 Amazon Elastic Container Service(ECS)는 고도로 확장 가능하고 성능이 뛰어난 컨테이너 관리 서비스입니다. AWS Fargate는 인프라를 배포하거나 관리하지 않고도 프로덕션에서 컨테이너를 실행할 수 있도록 지원하는 Amazon ECS를 위한 기술입니다. Amazon Elastic Container Service for Kubernetes(EKS)를 사용하면 손쉽게 AWS에서 Kubernetes를 실행할 수 있습니다.AWS Fargate는 서버를 프로비저닝하거나 관리하지 않고도 프로덕션에서 컨테이너를 실행할 수 있도록 지원하는 Amazon ECS를 위한 기술입니다. Amazon Elastic Container Registry(ECR)는 Docker 컨테이너 이미지를 손쉽게 저장하고 관리할 수 있도록 지원하는 안전한 고가용성 프라이빗 컨테이너 레지스트리로서, 빠르게 가져오고 보호하기 위해 저장 이미지를 암호화하고 압축합니다. AWS Batch를 사용하면 Docker 컨테이너를 사용하여 고도로 확장 가능한 배치 처리 워크로드를 실행할 수 있습니다.

new_product_ecs

Amazon ECS

Amazon ECS는 AWS 클라우드에서 Docker 컨테이너를 실행하기 위한 컨테이너 오케스트레이션 서비스로서 확장성과 성능이 매우 뛰어납니다.

new_product_fargate

AWS Fargate

AWS Fargate는 인프라를 배포하거나 관리하지 않고도 Docker 컨테이너를 실행할 수 있도록 지원하는 Amazon ECS를 위한 기술입니다.

new_product_eks

Amazon EKS

Amazon EKS를 사용하면 Kubernetes 마스터를 설치 및 운영할 필요 없이 손쉽게 AWS에서 Kubernetes를 실행할 수 있습니다.  

new_product_ecr

Amazon ECR

Amazon ECR은 Docker 컨테이너 이미지를 손쉽게 저장하고 관리할 수 있도록 지원하는 가용성이 뛰어나고 안전한 프라이빗 컨테이너 리포지토리입니다.

new_product_batch

AWS Batch

AWS Batch는 개발자, 과학자 및 엔지니어가 AWS에서 컨테이너를 사용하여 배치 컴퓨팅 작업을 쉽고 효율적으로 실행할 수 있도록 지원합니다.

new_product_docker_cleanwhale

Docker EE는 Amazon EC2 환경에 최적화된, 엔터프라이즈 컨테이너 관리 및 보안용 플랫폼을 제공합니다.

Docker EE는 AWS Marketplace에서 구독을 통해 사용할 수 있습니다. 이미 Docker EE 라이선스를 가지고 계십니까? AWS에서 Docker EE Standard로 시작하십시오.

Docker 사용 시작하기

아래 단계를 따라 하면 몇 분 만에 AWS에서 Docker 사용을 시작할 수 있습니다!
icon1
AWS 계정에 가입
AWS 프리 티어에 즉시 액세스할 수 있습니다.
icon2
10분 만에 Docker 컨테이너 배포
이 간단한 자습서를 통해 Docker를 탐색하고 알아보십시오.

컨테이너에 대해 자세히 알아보기

컨테이너 페이지로 이동하기
구축할 준비가 되셨습니까?
Docker 컨테이너 배포
질문이 있으십니까?
문의처