DEV Community

Dilum Darshana
Dilum Darshana

Posted on • Edited on

My Mostly Used Docker Commands

Mostly used Docker commands collection by me.

generic

# remove all stopped containers
$ docker prune

# docker full cleanup
$ docker system prune -a --volumes

# check disk usage by docker
$ docker system df

# check the service version
# --rm: this will remove the container after stop
$ docker run --rm redis redis-server --version
$ docker run --rm node node -v
Enter fullscreen mode Exit fullscreen mode

images

# pull docker image
$ docker pull redis

# list pulled images
$ docker images

# remove image
$ docker rmi redis
Enter fullscreen mode Exit fullscreen mode

container

# create and run docker container
$ docker run --name redis-master -d -p 6379:6379 redis

# run docker in specific network
$ docker run --name redis-master --network redis-net -d -p 6379:6379 redis

# stop container
$ docker stop redis-master

# start container
$ docker start redis-master

# check running containers
$ docker ps

# check all containers
$ docker ps -a

# restart container
$ docker restart redis-master

# check logs
$ docker logs redis-master

# go inside container
# docker exec -it <container_name|container_id> bash
$ docker exec -it redis-master bash

# execute command without go inside container
# docker exec <container_name> <command_to_run_inside_container>
$ docker exec redis-master redis-cli GET username

# remove container
$ docker rm redis-master
Enter fullscreen mode Exit fullscreen mode

volums


# list all volumes
$ docker volume list

# create a new volume
$ docker volume create redis-volume

# remove volume
$ docker volume rm redis-volume

# inspect volume in a container
$ docker volume inspect redis_master

# mount volume to container
$ docker run -v redis-volume:/data redis-master
Enter fullscreen mode Exit fullscreen mode

network


# create new network
# docker network create <options> <network_name> 
$ docker network create redis-net
$ docker network create --subnet=192.168.1.0/24 redis-net

# list all networks
$ docker network list

# check who is in the network
$ docker network inspect redis-net

# check what is inside network
$ docker network inspect redis-net

# connect to specific container
# docker network connect <network> <container>
$ docker network connect redis-net redis-master

# disconnect from network
$ docker network disconnect redis-net redis-master

# remove network
$ docker network rm redis-net
Enter fullscreen mode Exit fullscreen mode

docker-compose


# compose start
$ docker-compose -f <docker-compose.yml> up

# compose stop. This will remove all containers as well
$ docker-compose -f <docker-compose.yml> down

# compose stop + delete volumes
$ docker-compose -f <docker-compose.yml> down -v
Enter fullscreen mode Exit fullscreen mode

debug


# inspect container
# docker inspect <container_name>
$ docker inspect redis-master

# inspect image
$ docker inspect redis

# inspect docker network
$ docker network inspect redis-net
Enter fullscreen mode Exit fullscreen mode

Cheers... Happy coding!!!

Note: This is a living document.

Top comments (0)