Skip to content

docker

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>