Containers FAQs

About containers

Open all

Containers provide a standard way to package your application's code, configurations, and dependencies into a single object. Containers share an operating system installed on the server and run as resource-isolated processes, ensuring quick, reliable, and consistent deployments, regardless of environment.

Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker packages software into standardized units called containers that have everything the software needs to run including libraries, system tools, code, and runtime.  

Kubernetes is an open source container management and orchestration system. On AWS, you can choose to run and manage Kubernetes infrastructure yourself with HAQM EC2, or use HAQM EKS for a managed, automatically provisioned Kubernetes control plane.

Containers are a powerful way for developers to package and deploy their applications. They are lightweight and provide a consistent, portable software environment for applications to easily run and scale anywhere. Building and deploying microservices, running batch jobs, for machine learning applications, and moving existing applications into the cloud are just some of the popular use cases for containers.

About AWS services

Open all

Yes. HAQM ECR is integrated with both HAQM ECS and HAQM EKS, allowing you to easily store, run, and manage container images for applications running on ECS or EKS. All you need to do is specify the HAQM ECR repository in your task or pod definition and ECS or EKS will retrieve the appropriate images for your applications. 

When you want to run lots of Docker containers, orchestration tools like Docker Swarm, Kubernetes, and HAQM ECS make it possible to start, stop, and monitor thousands (or millions) of containers.

Docker Swarm is container orchestration software made by Docker that you run and manage yourself. Kubernetes is a popular open source, community maintained container orchestration software that you run and manage yourself. HAQM EKS makes it easier to run Kubernetes on AWS by managing the Kubernetes control plane for your containers. HAQM ECS is a fully managed AWS service that makes it easy to run containers on AWS with deep integrations to AWS services such as VPC, load balancing, service discovery, and IAM roles.

Both HAQM ECS and HAQM EKS are container management systems that help you run containers at scale. EKS runs Kubernetes and uses the Kubernetes APIs, while ECS has deep integrations with other AWS services and uses the AWS APIs.

AWS App Mesh provides new communication, observation, and management capabilities to applications managed by HAQM ECS. You add the Envoy proxy image to the ECS task definition. App Mesh manages Envoy configuration to provide service mesh capabilities. App Mesh exports metrics, logs, and traces to the endpoints specified in the Envoy bootstrap configuration provided. App Mesh provides an API to configure traffic routes, circuit breaking, retries and other controls between microservices that are mesh-enabled.

Add the Envoy proxy image to the Kubernetes PodSpec. AWS App Mesh exports metrics, logs, and traces to the endpoints specified in the Envoy bootstrap configuration provided. App Mesh provides an API to configure traffic routes, circuit breaking, retries and other controls between microservices that are mesh-enabled.