Docker essential commands


Docker makes a developer life so easy. It helps to build and ship the project easily with all dependencies and environments while deployment. It also helps the developer machine to be lightweight from all project dependencies to manage it without installation.

Docker Version

docker version

Check all installed Images

docker image ls

Download an image

docker pull [IMAGE]

Retag existing image

docker image tag nginx ziyed/nginx

Upload to dockerhub

docker image push ziyed/nginx

If denied, do

docker login

Remove all images

docker rmi $(docker images -a -q)

Create and run a container in foreground

 docker container run -it -p 80:80 nginx

Create and run a container in background

docker container run -d -p 80:80 nginx

Give a naming to Containers

docker container run -d -p 80:80 --name nginx-server nginx

Check all running containers



docker container ls

docker ps -a 

Stop a Container

docker container stop [ID or Name]

Stop all running container

docker stop $(docker ps -aq)

To remove a running container use force(-f)

docker container rm -f [ID or Name]

Remove multiple containers

docker container rm [ID] [ID] [ID]

Check container error logs

 docker container logs [NAME]

View info on container

 docker container inspect [NAME]

View specific container property

docker container inspect --format '{{ .NetworkSettings.IPAddress }}' [NAME]

Performance stats (cpu, mem, network, disk, etc)

docker container stats [NAME]

Use exec to edit or access to container

docker container exec -it [NAME] bash

Network list

docker network ls

Network Inspect

docker network inspect [NETWORK_NAME]

Create network

docker network create [NETWORK_NAME]

Create container on network

docker container run -d --name [NAME] --network [NETWORK_NAME] nginx

Connect/disconnect existing container to/from network

docker network connect [NETWORK_NAME] [CONTAINER_NAME]
docker network disconnect [NETWORK_NAME] [CONTAINER_NAME]

Build an image from Dockerfile

docker image build -t [REPONAME] .

Run a container with volume mount from directory

docker container run  -p 80:80 -v $(pwd):/usr/share/nginx/html nginx

To run a docker compose file

docker-compose up

Run in background

docker-compose up -d

To cleanup

docker-compose down