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 .dockerignore?
This lesson is for anyone whose builds are slow and whose images are surprisingly large. A .dockerignore file lists what to exclude from the build context.
It works like .gitignore: patterns such as node_modules, .git and *.log, one per line.
With node_modules and .git excluded, far less data is sent to the Docker daemon, so builds start faster and images stay smaller.
A common stumble is not having the file at all and unknowingly shipping your entire git history inside the build context.
In real work, a .dockerignore sits next to the Dockerfile in essentially every serious project.
🧑💻 You can type this command into the Docker pseudo terminal to try it yourself (this page itself has no interactive terminal).
