Docker & Microservices Cheat Sheet
Docker Image
-
Build an image from a Dockerfile:
docker build -t image_name path_to_dockerfile
Example:docker build -t myapp .
-
List all local images:
docker images
Example:docker image ls
-
Pull an image from Docker Hub:
docker pull image_name:tag
Example:docker pull nginx:latest
-
Remove a local image:
docker rmi image_name:tag
Example:docker rmi myapp:latest
-
Tag an image:
docker tag source_image:tag new_image:tag
Example:docker tag myapp:latest myapp:v1
-
Push an image to Docker Hub:
docker push image_name:tag
Example:docker push myapp:v1
-
Inspect image details:
docker inspect image_name:tag
Example:docker inspect myapp:v1
-
Save image to tar:
docker save -o image_name.tar image_name:tag
Example:docker save -o myapp.tar myapp:v1
-
Load image from tar:
docker load -i image_name.tar
Example:docker load -i myapp.tar
-
Prune unused images:
docker image prune
Docker Container
-
Run a container from image:
docker run image_name
Example:docker run myapp
-
Run named container:
docker run --name container_name image_name:tag
Example:docker run --name my_container myapp:v1
-
List running containers:
docker ps
-
List all containers:
docker ps -a
-
Stop container:
docker stop container_name
Example:docker stop my_container
-
Start container:
docker start container_name
Example:docker start my_container
-
Run in interactive mode:
docker run -it container_name
Example:docker run -it my_container
-
Interactive shell mode:
docker run -it container_name sh
Example:docker run -it my_container sh
-
Remove stopped container:
docker rm container_name
Example:docker rm my_container
-
Force remove running container:
docker rm -f container_name
Example:docker rm -f my_container
-
Inspect container:
docker inspect container_name
Example:docker inspect my_container
-
View container logs:
docker logs container_name
Example:docker logs my_container
-
Pause container:
docker pause container_name
Example:docker pause my_container
-
Unpause container:
docker unpause container_name
Example:docker unpause my_container
Docker Volumes and Networks
-
Create volume:
docker volume create my_volume
-
List volumes:
docker volume ls
-
Inspect volume:
docker volume inspect my_volume
-
Remove volume:
docker volume rm my_volume
-
Run container with volume:
docker run --name my_container -v my_volume:/app/data myapp:v1
-
Copy to container:
docker cp data.txt my_container:/app/data
-
List networks:
docker network ls
-
Port mapping:
docker run --name my_container -p 8080:80 myapp
-
Create bridge network:
docker network create my_network
-
Connect to network:
docker network connect my_network my_container
-
Inspect network:
docker network inspect my_network
-
Disconnect from network:
docker network disconnect my_network my_container
Docker Compose
-
Start containers:
docker-compose up
-
Stop and remove containers:
docker-compose down
-
Build services:
docker-compose build
-
List containers:
docker-compose ps
-
View logs:
docker-compose logs
-
Scale services:
docker-compose up -d --scale web=3
-
Run command in service:
docker-compose run web npm install
-
List volumes:
docker volume ls
-
Pause service:
docker-compose pause web
-
Unpause service:
docker-compose unpause web
-
Service info:
docker-compose ps web