Got the fundamentals? A structured Docker course is a fast way to level up.
Find Docker courses on UdemyAffiliate link. Costs you nothing extra.
- 01Getting Started
- 02What Is Docker?
- 03Checking the Version with docker --version
- 04Images vs. Containers
- 05Fetching an Image with docker pull
- 06Listing Images with docker images
- 07Starting a Container with docker run
- 08Running in the Background with docker run -d
- 09Listing Running Containers with docker ps
- 10Listing Every Container with docker ps -a
- 11Naming a Container with docker run --name
- 12Stopping a Container with docker stop
- 13Restarting a Stopped Container with docker start
- 14Restarting with docker restart
- 15Deleting a Container with docker rm
- 16Deleting an Image with docker rmi
- 17Publishing a Port with docker run -p
- 18Passing Environment Variables with docker run -e
- 19Mounting a Volume with docker run -v
- 20Running Commands Inside a Container with docker exec
- 21Reading Logs with docker logs
- 22Inspecting Details with docker inspect
- 23Viewing Processes with docker top
- 24Monitoring Resources with docker stats
- 25Copying Files with docker cp
- 26What Is a Dockerfile?
- 27Choosing a Base Image with FROM
- 28Setting the Working Directory with WORKDIR
- 29Adding Files with COPY
- 30Executing Commands with RUN
- 31Setting the Startup Command with CMD
- 32Declaring Ports with EXPOSE
- 33Building an Image with docker build
- 34Tagging an Image with docker tag
- 35Sharing an Image with docker push
- 36What Is .dockerignore?
- 37What Is a Multi-Stage Build?
- 38Creating a Volume with docker volume create
- 39Listing Volumes with docker volume ls
- 40Creating a Network with docker network create
- 41Listing Networks with docker network ls
- 42What Is Docker Compose?
- 43Starting Everything with docker compose up
- 44Stopping Everything with docker compose down
- 45Cleaning Up with docker system prune
What Is a Dockerfile?
This lesson is for anyone tired of repeating the same steps to build an image. A Dockerfile is a text file describing how to build an image: which base to start from, what to install, what to run.
You write instructions such as FROM, COPY, RUN and CMD in order. Running docker build against the file then produces the image automatically, following exactly those steps.
You could build an image by typing commands into a container by hand, but writing them in a Dockerfile means anyone can reproduce the same image, any number of times.
A common stumble is not realizing that the order of instructions is the order the image's layers stack up in — an inefficient order makes for slow, bloated builds.
In real work, the Dockerfile lives in the repository alongside the source code, so every developer builds the image identically.
🧑💻 You can type this command into the Docker pseudo terminal to try it yourself (this page itself has no interactive terminal).
