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