-
Important distinction: Containers are NOT Docker. Docker includes multiple products (i.e. Docker Desktop) and Open Source containerization technologies (i.e. container engine), see Docker's github repo
-
Docker Desktop is recommended because it includes the Docker daemon (dockerd), the Docker client (docker), Docker Compose, Docker Content Trust, Kubernetes, and Credential Helper.
-
Install Docker engine (aka Docker CE) for various Linux Distros here vs. install Docker Desktop for linux here. The Docker Engine is licensed under the Apache License, Version 2.0.
-
How Kubernetes works under the hood with Docker Desktop
-
archi of docker on mac and how how-docker-for-mac-works-under-the-hood or the-magic-behind-the-scenes-of-docker-desktop and docker-on-macos-is-slow-and-how-to-fix-it
- After Docker installation, we have the hello world for containers. Using
docker
CLI we can do:
# list all containers from your machine (by all we mean running and also stopped).
# The output should be empty (since there are no containers which have been ran)
docker ps -a
# list all images from your machine.
# The output should be empty (since there are no images pulled on your machine)
docker images
# run your first container.
# The container engine tried to find an image named hello-world, and it did not find it,
# therefore it goes to its default Docker registry, which is Docker Hub, to look for an image named “hello-world
# It finds the image there, pulls it down, and then runs it in a container
docker run hello-world
# rerun commands. What are the changes ?
docker ps -a
docker images
- What is a container here
- Flow: Using a Dockerfile we build a Docker image, and using a Docker image we start/run a container.
flowchart LR;
Dockerfile-->Image;
Image-->Container;
💻 Hands-on here