Examine the evolution of virtualization technologies from bare metal, virtual machines, and containers and the tradeoffs between them.
Explores the three core Linux features that enable containers to function (cgroups, namespaces, and union filesystems), as well as the architecture of the Docker components.
Install and configure Docker Desktop
Use publicly available container images in your developer workflows and learn how about container data persistence.
Building out a realistic microservice application to containerize.
Write and optimize Dockerfiles and build container images for the components of the example web app.
Use container registries such as Dockerhub to share and distribute container images.
Use Docker and Docker Compose to run the containerized application from Module 5.
Learn best practices for container image and container runtime security.
Explore how to use Docker to interact with containers, container images, volumes, and networks.
Add tooling and configuration to enable improved developer experience when working with containers.
•Developer Experience Wishlist
Deploy containerized applications to production using a variety of approaches.
A container registry is a repository or a collection of repositories used to store and access container images. These registries are generally stored in the cloud and allow you to push built images and pull them into your deployment environment. Container registries can be either public or private. Some popular container registries include Docker Hub, GitHub Container Registry, and those provided by Google, Amazon, and Azure.
TODO: INSERT_IMAGE
To push an image to a remote repo, you need to:
Each registry will have its own set of instructions for logging in. The process will generally involve using a command like docker login
and providing your credentials.
docker login
docker tag my_scratch_image:latest myusername/my_scratch_image:latest
docker push myusername/my_scratch_image:latest
echo "TOKEN" | docker login ghcr.io -u USERNAME --password-stdin
docker tag my_scratch_image:latest ghcr.io/myusername/my_scratch_image:latest
docker push ghcr.io/myusername/my_scratch_image:latest