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.
Throughout the course we have interacted with many different Docker objects. This module covers the additional options for how we can work with them.
Use docker image --help
to see all the subcommands associated with Docker image.
Build an image from a Dockerfile:
docker image build -t new-image .
# equivalent
docker build -t new-image .
Show the steps used to build an image:
docker image history new-image
Show detailed information about an image:
docker image inspect new-image
Create an image from a tarball:
docker image import file.tar
Create an image from a tar archive generated using docker save:
docker image load -i file.tar
List all images on the system:
docker image ls
Clean up old images:
docker image prune
Pull an image from a registry:
docker image pull image-name:tag
Push built images to a registry:
docker image push image-name:tag
Remove a specific image:
docker image rm new-image
Save an image to a tar archive:
docker image save -o file.tar image-name:tag
Tag an image with a new tag:
docker image tag ubuntu:22.04 my-ubuntu-image
Scan an image for known vulnerabilities:
docker scan ubuntu:22.04
NOTE: docker scan
has been deprecated in favor of docker scout
https://docs.docker.com/scout/
docker scout cves ubuntu:22.04