THE ULTIMATE DOCKER CHEAT SHEET

Vineet Kumar
3 min readFeb 3, 2020

--

1. RUN a CONTAINER

(I) Start new container from an image: docker run IMAGE_NAME

(II) And assign it a name: docker run --name CONTAINER _NAME IMAGE_NAME

(III) To map a port: docker run -p HOST_PORT:CONTAINER_PORT IMAGE

(IV) To MAP all port: docker run -P IMAGE_NAME

(V) And Start a Container in background: docker run -d IMAGE_NAME

(VI) And Assign it a HOST NAME: docker run --hostname HOSTNAME IMAGE_NAME

(VII) And add a DNS entry or HOST entry in /etc/hosts file: docker run --add-host HOSTNAME:IP IMAGE

(VIII) And map a local directory (volume) to a container: docker run -v HOST_DIR:TARGET_DIR IMAGE_NAME

(IX) ALL IN ONE Example : docker run --name my_container -p 80:80 -v /home/data/:/var/www/html/--add-host test.ac.in:10.246.10.6 --hostname nginx_host -d nginx

2. MANAGE CONTAINERS

(I) Show List of all running containers : docker ps

(II) Show List of all running and stop containers : docker ps -a

(III) Show List of all running and stop containers with ID: docker ps -aq

(III) Delete Container : docker rm CONTAINER_ID

(IV) Delete Stop Container: docker container prune

(V) Stop a Running Container: docker stop CONTAINER

(VI) Start a stop Container: docker start CONTAINER

(VII) Copy a file from container to host: docker cp CONTAINER:SOURCE TARGET

(VII) Copy a file from host to container: docker cp TARGET CONTAINER:SOURCE

(VIII) RUN a Container in EXECUTABLE MODE (can do temporary change in running container but changes will vanish after restart the container) or run a shell inside container: docker exec -it CONTAINER EXECUTABLE

EXAMPLE: docker exec -it nginx /bin/bash

(IX) Rename a Container: docker rename OLD_NAME NEW_NAME

(X) Create a IMAGE from Running Container (To make permanent changes): docker commit container

3. MANAGE IMAGES

(I) Download an IMAGE: docker pull IMAGE[:tag] (for ex: docker pull nginx or docker pull nginx:latest)

(II) Upload an image to a repository: docker push IMAGE[:tag] (ex: docker push nginx or docker push nginx:latest)

(III) Delete an Image: docker rmi IMAGE

(IV) Show list of all Images: docker images

(V) Delete dangling images (unused) : docker image prune

(VI) Delete all unused images: docker image prune -a

(VII) Build and tag image from Dockerfile: docker build -t IMAGE:TAG PATH_OF_DOCKERFILE

(VIII) Tag an image: docker tag IMAGE NEWIMAGE or docker image IMAGE:TAG NEWIMAGE:TAG

(IX) Save an image to file: docker save IMAGE > FILE_NAME

(X) Load an image from file: docker load -i FILE_NAME

(XI) Save and Load from gzip format: docker save my_image:my_tag | gzip >my_image.tar.gz

docker load -i my_image.tar.gz

4. INFO AND STATS

(I) Show the latest logs of Container: docker logs -f CONTAINER_ID or docker logs --tail=100 CONTAINER_ID or docker logs --follow CONTAINER_ID

(II) Show the Stats of Running Container: docker stats

(III) Show processes of Container: docker top CONTAINER

(IV) Show Docker version: docker version

(V) Get Detailed Info about Container: docker info CONTAINER

(VI) Show all modified files in container: docker diff container

(VII) Show mapped port in container: docker port CONATINER

(VIII) Get IP address: docker inspect -f ‘{{.NetworkSettings.IPAddress}}’ CONTAINER

(IX)Show history of image: docker history IMAGE

5. DOCKER COMPOSE:

(I) Build with Dockerfile: docker-compose build

(II) Starts existing containers for a service: docker-compose start

(III) Stops running containers without removing them: docker-compose stop

(IV) Stops containers and removes containers, networks, volumes, and images created by up : docker-compose down -v

(V) Pauses running containers of a service: docker-compose pause

(VI) Unpauses paused containers of a service.: docker-compose unpause

(VII) Builds, (re)creates, starts, and attaches to containers for a service.: docker-compose up -d

(VIII) Lists containers: docker-compose ps

(IX) Service Logs: docker-compose logs -f SERVICE_NAME

--

--

No responses yet