Docker Container Basics - Amazon SageMaker

Docker Container Basics

Docker is a program that performs operating system-level virtualization for installing, distributing, and managing software. It packages applications and their dependencies into virtual containers that provide isolation, portability, and security. With Docker, you can ship code faster, standardize application operations, seamlessly move code, and economize by improving resource utilization. For more general information about Docker, see Docker overview.

The following information outlines the most significant aspects of using Docker containers with Amazon SageMaker.

SageMaker Functions

SageMaker uses Docker containers in the backend to manage training and inference processes. SageMaker abstracts away from this process, so it happens automatically when an estimator is used. While you don't need to use Docker containers explicitly with SageMaker for most use cases, you can use Docker containers to extend and customize SageMaker functionality.

Containers with SageMaker Studio

SageMaker Studio runs from a Docker container and uses it to manage functionality. As a result, you must create your Docker container following the steps in Bring your own SageMaker image.