$ curl cheat.sh/
# To start the docker daemon:
docker -d

# To build a docker image:
docker build -t <image-tag-name> <path-of-Dockerfile>

# To start a container with an interactive shell:
docker run -ti <image-name> /bin/bash

# To run a docker container in the background:
docker run -d <image-name>

# To "shell" into a running container (docker-1.3+):
docker exec -ti <container-name> bash

# To inspect a running container:
docker inspect <container-name> (or <container-id>)

# To get the process ID for a container:
docker inspect --format {{.State.Pid}} <container-name-or-id>

# To list (and pretty-print) the current mounted volumes for a container:
docker inspect --format='{{json .Volumes}}' <container-id> | python -mjson.tool

# To copy files/folders between a container and your host:
docker cp foo.txt mycontainer:/foo.txt

# To list currently running containers:
docker ps

# To list all containers:
docker ps -a

# To remove all stopped containers:
docker container prune

# To remove all stopped containers:
docker rm $(docker ps -qa)

# To list all images:
docker images

# To only see all images id:
docker image ls -q

# To remove all untagged images:
docker rmi $(docker images | grep "^<none>" | awk '{print $3}')

# To remove all volumes not used by at least one container:
docker volume prune

# To save image as tar archive:
docker save -o <archive-name>.tar <image-name>

# To restore image from a saved tar archive:
docker load -i <archive-name>.tar

# To remove an image:
docker image rm <image-name-or-id>

# To tag an image:
docker image tag <image-name>:<tag-name> <image-name>:<new-tag-name>

# To login into hub.docker.com:
docker login

# To push a docker image into dockerhub repository:
docker push <image-name>:<image-tag-name>

# List all networks daemon knows about:
docker network ls

# Create a specific network:
docker network create "<network_name>"

# Connect a specific container to a network:
docker network connect "<network_id|name>" "<container_id|name>"

# Disconnect a specific container from network:
docker network disconnect "<network_id|name>" "<container_id|name>"

# To see the logs of a background or stopped container:
docker logs <container-id>

# To publish a port of container on localhost:
docker run -p <localhost-port>:<container-port> <image-name>

# To create a docker volume:
docker volume create <volume-name>

# To see information of a docker volume:
docker volume inspect <volume-name>

# To use a volume in the container:
docker run -v <volume-name>:<folder-path-in-container> <image>

# To link current folder between host and container for development:
docker run <image-name> -v $(pwd):<folder-path-in-container> <image>

# To copy a file from the running container to host mechine:
docker cp <container-id>:<path/to/file> <host/copy/path>

# To copy a file from host mechine to the running container:
docker cp <host/copy/path> <container-id>:<path/to/file>

# docker
# Manage Docker containers and images.
# Some subcommands such as `docker run` have their own usage documentation.
# More information: <https://docs.docker.com/engine/reference/commandline/cli/>.

# List all docker containers (running and stopped):
docker ps --all

# Start a container from an image, with a custom name:
docker run --name container_name image

# Start or stop an existing container:
docker start|stop container_name

# Pull an image from a docker registry:
docker pull image

# Display the list of already downloaded images:
docker images

# Open a shell inside a running container:
docker exec -it container_name sh

# Remove a stopped container:
docker rm container_name

# Fetch and follow the logs of a container:
docker logs -f container_name

Follow @igor_chubin cheat.sh