0% found this document useful (0 votes)
29 views

Docker Cheat Sheet & Quick Reference

This document provides a quick reference to common Docker commands. It covers getting started with Docker, running and managing containers, building and managing images, Docker networking, cleaning up unused Docker objects, and miscellaneous commands related to the Docker Hub registry.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Docker Cheat Sheet & Quick Reference

This document provides a quick reference to common Docker commands. It covers getting started with Docker, running and managing containers, building and managing images, Docker networking, cleaning up unused Docker objects, and miscellaneous commands related to the Docker Hub registry.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Docker

This is a quick reference cheat sheet for Docker. And you can find the most common Docker commands here.

# Getting Started
Getting started

Create and run a container in background

$ docker run -d -p 80:80 docker/getting-started

-d - Run the container in detached mode

-p 80:80 - Map port 80 to port 80 in the container

docker/getting-started - The image to use

Create and run a container in foreground

$ docker run -it -p 8001:8080 --name my-nginx nginx

-it - Interactive bash mode

-p 8001:8080 - Map port 8001 to port 8080 in the container


--name my-nginx - Specify a name

nginx The image to use


General commands

docker ps List running containers

docker ps -a List all containers

docker ps -s List running containers


(with CPU / memory)

docker images List all images

docker exec -it <container> bash Connecting to container

docker logs <container> Shows container's console log

docker stop <container> Stop a container

docker restart <container> Restart a container

docker rm <container> Remove a container

docker port <container> Shows container's port mapping

docker top <container> List processes

docker kill <container> Kill a container

Parameter <container> can be container id or name


# Docker Containers
Starting & Stopping

docker start my-nginx Starting

docker stop my-nginx Stopping

docker restart my-nginx Restarting

docker pause my-nginx Pausing

docker unpause my-nginx Unpausing

docker wait my-nginx Blocking a Container

docker kill my-nginx Sending a SIGKILL

docker attach my-nginx Connecting to an Existing Container

Information

docker ps List running containers

docker ps -a List all containers

docker logs my-nginx Container Logs

docker inspect my-nginx Inspecting Containers

docker events my-nginx Containers Events

docker port my-nginx Public Ports

docker top my-nginx Running Processes


docker stats my-nginx Container Resource Usage

docker diff my-nginx Lists the changes made to a container.

Creating

docker create [options] IMAGE


-a, --attach # attach stdout/err
-i, --interactive # attach stdin (interactive)
-t, --tty # pseudo-tty
--name NAME # name your image
-p, --publish 5000:5000 # port map (host:container)
--expose 5432 # expose a port to containers
-P, --publish-all # publish all ports
--link container:alias # linking
-v, --volume `pwd`:/app # mount (absolute paths needed)

Example

$ docker create --name my_redis --expose 6379 redis:3.0.2

Manipulating

Renaming a Container

docker rename my-nginx my-nginx

Removing a Container
docker rm my-nginx

Updating a Container

# Docker Images
Manipulating

docker images Listing images

docker rmi nginx Removing an image

docker load < ubuntu.tar.gz Loading a tarred repository

docker load --input ubuntu.tar Loading a tarred repository

docker save busybox > ubuntu.tar Save an image to a tar archive

docker history Showing the history of an image

docker commit nginx Save a container as an image.

docker tag nginx eon01/nginx Tagging an image

docker push eon01/nginx Pushing an image

Building Images
$ docker build .
$ docker build github.com/creack/docker-firefox
$ docker build - < Dockerfile
$ docker build - < context.tar.gz
$ docker build -t eon/my-nginx .
$ docker build -f myOtherDockerfile .
$ curl example.com/remote/Dockerfile | docker build -f - .

# Docker Networking
Manipulating

Removing a network

docker network rm MyOverlayNetwork

Listing networks

docker network ls

Getting information about a network

docker network inspect MyOverlayNetwork

Connecting a running container to a network


docker network connect MyOverlayNetwork nginx

Connecting a container to a network when it starts

docker run -it -d --network=MyOverlayNetwork nginx

Disconnecting a container from a network

Creating Networks

docker network create -d overlay MyOverlayNetwork

docker network create -d bridge MyBridgeNetwork

docker network create -d overlay \


--subnet=192.168.0.0/16 \
--subnet=192.170.0.0/16 \
--gateway=192.168.0.100 \
--gateway=192.170.0.100 \
--ip-range=192.168.1.0/24 \
--aux-address="my-router=192.168.1.5" \
--aux-address="my-switch=192.168.1.6" \
--aux-address="my-printer=192.170.1.5" \
--aux-address="my-nas=192.170.1.6" \
MyOverlayNetwork
# Clean Up
Clean All

Cleans up dangling images, containers, volumes, and networks (ie, not associated with a container)

docker system prune

Additionally, remove any stopped containers and all unused images (not just dangling images)

docker system prune -a

Containers

Stop all running containers

docker stop $(docker ps -a -q)

Delete stopped containers

docker container prune

Images

Remove all dangling (not tagged and is not associated with a container) images:

docker image prune


Remove all images which are not used by existing containers

Volumes

docker volume prune

Remove all volumes not used by at least one container

# Miscellaneous
Docker Hub

docker search search_word Search docker hub for images.

docker pull user/image Downloads an image from docker hub.

docker login Authenticate to docker hub

docker push user/image Uploads an image to docker hub.

Registry commands

Login to a Registry

$ docker login
$ docker login localhost:8080
Logout from a Registry

$ docker logout
$ docker logout localhost:8080

Searching an Image

$ docker search nginx


$ docker search nginx --stars=3 --no-trunc busybox

Pulling an Image

$ docker pull nginx


$ docker pull eon01/nginx localhost:5000/myadmin/nginx

Pushing an Image

$ docker push eon01/nginx

Batch clean

docker stop -f $(docker ps -a -q) Stopping all containers

docker rm -f $(docker ps -a -q) Removing all containers

docker rmi -f $(docker images -q) Removing all images

Volumes

Check volumes
$ docker volume ls

Cleanup unused volumes

You might also like