Skip to content
Blog
Esc
  • Type at least two characters.
Browse Blog

History: Docker Cheat Sheet

Import from Docusaurus (blog/2024-07-17-docker-cheat-sheet.mdx) (first version)

Back to history
Added: # Docker Cheat Sheet
Added:
Added: Docker provides the ability to package and run an application in an isolated environment called a container. The isolation and security allows you to run many containers simultaneously on a given host. Containers are lightweight and contain everything needed to run the application, so you do not need to rely on what is currently installed on the host. You can easily share containers while you work, and be sure that everyone you share with gets the same container that works in the same way.
Added:
Added: ## General Commands
Added:
Added: - Start the docker daemon
Added:
Added: ```bash
Added: docker -d
Added: ```
Added:
Added: - Get help with Docker. Can also use –help on all subcommands
Added:
Added: ```bash
Added: docker --help
Added: ```
Added:
Added: - Display system-wide information
Added:
Added: ```bash
Added: docker info
Added: ```
Added:
Added: ## Images
Added:
Added: Docker images are a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
Added:
Added: - Build an Image from a Dockerfile
Added:
Added: ```bash
Added: docker build -t [image_name]
Added: ```
Added:
Added: - Build an Image from a Dockerfile without the cache
Added:
Added: ```bash
Added: docker build -t [image_name] . –no-cache
Added: ```
Added:
Added: - List local images
Added:
Added: ```bash
Added: docker images
Added: ```
Added:
Added: - Delete an Image
Added:
Added: ```bash
Added: docker rmi [image_name]
Added: ```
Added:
Added: - Remove all unused images
Added:
Added: ```bash
Added: docker image prune
Added: ```
Added:
Added: ## Docker Hub
Added:
Added: Docker Hub is a service provided by Docker for finding and sharing container images with your team. Learn more and find images at [Docker Hub Container Image Library | App Containerization](https://hub.docker.com)
Added:
Added: - Login into Docker
Added:
Added: ```bash
Added: docker login -u [username]
Added: ```
Added:
Added: - Publish an image to Docker Hub
Added:
Added: ```bash
Added: docker push [username]/[image_name]
Added: ```
Added:
Added: - Search Hub for an image
Added:
Added: ```bash
Added: docker search [image_name]
Added: ```
Added:
Added: - Pull an image from a Docker Hub
Added:
Added: ```bash
Added: docker pull [image_name]
Added: ```
Added:
Added: - Show history of Docker Image
Added:
Added: ```bash
Added: docker history [image_name]
Added: ```
Added:
Added: ## Container
Added:
Added: A container is a runtime instance of a docker image. A container will always run the same, regardless of the infrastructure. Containers isolate software from its environment and ensure that it works uniformly despite differences for instance between development and staging.
Added:
Added: - Create and run a container from an image, with a custom name:
Added:
Added: ```bash
Added: docker run --name [container_name] [image_name]
Added: ```
Added:
Added: - Run a container with and publish a container’s port(s) to the host.
Added:
Added: ```bash
Added: docker run -p [host_port]:[container_port] [image_name]
Added: ```
Added:
Added: - Run a container in the background
Added:
Added: ```bash
Added: docker run -d [image_name]
Added: ```
Added:
Added: - Start or stop an existing container:
Added:
Added: ```bash
Added: docker start|stop [container_name] (or [container-id])
Added: ```
Added:
Added: - Remove a stopped container: (add flag -f to remove a running container)
Added:
Added: ```bash
Added: docker rm [container_name]
Added: ```
Added:
Added: - Open a shell inside a running container:
Added:
Added: ```bash
Added: docker exec -it [container_name] sh
Added: ```
Added:
Added: - Fetch and follow the logs of a container:
Added:
Added: ```bash
Added: docker logs -f [container_name]
Added: ```
Added:
Added: - To inspect a running container:
Added:
Added: ```bash
Added: docker inspect [container_name] (or [container_id])
Added: ```
Added:
Added: - To list currently running containers:
Added:
Added: ```bash
Added: docker ps
Added: ```
Added:
Added: - List all docker containers (running and stopped):
Added:
Added: ```bash
Added: docker ps --all
Added: ```
Added:
Added: - View resource usage stats:
Added:
Added: ```bash
Added: docker container stats
Added: ```
Added:
Added: - Check stats for all containers:
Added:
Added: ```bash
Added: docker stats --all
Added: ```
Added:
Added: - View the running processes of a container:
Added:
Added: ```bash
Added: docker top [container_name] (or [container_id])
Added: ```
Added:
Added: \-- Kill/Stop a running container:
Added:
Added: ```bash
Added: docker kill [container_name] (or [container_id])
Added: ```
Added:
Added: ## Networking
Added:
Added: Networking in Docker refers to the ability for containers to connect to and communicate with each other, or to non-Docker workloads. Docker Networks are used to provide complete isolation for Docker containers.
Added:
Added: - List all docker networks:
Added:
Added: ```bash
Added: docker network ls
Added: ```
Added:
Added: - Create a new Network:
Added:
Added: ```bash
Added: docker network create [network_name]
Added: ```
Added:
Added: - Connect a container to a network:
Added:
Added: ```bash
Added: docker network connect [network_name] [container_name_or_id]
Added: ```
Added:
Added: - Disconnect a container to a network:
Added:
Added: ```bash
Added: docker network disconnect [network_name] [container_name_or_id]
Added: ```
Added:
Added: - Remove a network:
Added:
Added: ```bash
Added: docker network rm [network_name]
Added: ```
Added:
Added: - Inspect a network:
Added:
Added: ```bash
Added: docker network inspect [network_name]
Added: ```
Added:
Added: ## Docker Compose
Added:
Added: Docker Compose is a tool for defining and running multi-container applications. It is the key to unlocking a streamlined and efficient development and deployment experience.
Added:
Added: - Build images:
Added:
Added: ```bash
Added: docker-compose build
Added: ```
Added:
Added: - docker-compose ps
Added:
Added: ```bash
Added: docker-compose up
Added: ```
Added:
Added: - Start containers in the background:
Added:
Added: ```bash
Added: docker-compose up -d
Added: ```
Added:
Added: - Stop and remove containers, networks, images, and volumes:
Added:
Added: ```bash
Added: docker-compose down
Added: ```
Added:
Added: - Stop running containers:
Added:
Added: ```bash
Added: docker-compose stop
Added: ```
Added:
Added: - Restart services:
Added:
Added: ```bash
Added: docker-compose restart
Added: ```
Added:
Added: - View service logs:
Added:
Added: ```bash
Added: docker-compose logs
Added: ```
Added:
Added: - View logs for a specific service:
Added:
Added: ```bash
Added: docker-compose logs [service_name]
Added: ```
Added:
Added: - Receive real-time events from containers:
Added:
Added: ```bash
Added: docker-compose events
Added: ```
Added:
Added: - List containers:
Added:
Added: ```bash
Added: docker-compose ps
Added: ```
Added:
Added: > **Tip**
Added: >
Added: > > By default, Docker Compose looks for a file named docker-compose.yml in the current directory. To specify a different file, use the -f flag:
Added: >
Added: > ```bash
Added: > docker-compose -f [custom-compose-file.yml] up
Added: > ```