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