Command Line
Cheatsheet of Docker and Docker - Compose

Hi, Welcome to Docker Cheatsheet by Chronicles.

Docker Cheatsheet

Docker Commands

Containers

  • docker ps: List running containers
  • docker ps -a: List all containers (including stopped ones)
  • docker create <image>: Create a new container
  • docker start <container>: Start a stopped container
  • docker stop <container>: Stop a running container
  • docker restart <container>: Restart a container
  • docker rm <container>: Remove a container
  • docker logs <container>: View logs of a container
  • docker exec -it <container> <command>: Execute a command in a running container
  • docker inspect <container>: View detailed information about a container

Images

  • docker images: List all images
  • docker pull <image>: Pull an image from Docker Hub
  • docker build -t <tag> <path_to_dockerfile>: Build an image from a Dockerfile
  • docker push <image>: Push an image to Docker Hub
  • docker rmi <image>: Remove an image

Networks

  • docker network ls: List networks
  • docker network create <name>: Create a network
  • docker network connect <network> <container>: Connect a container to a network
  • docker network disconnect <network> <container>: Disconnect a container from a network

Docker Compose

Docker Compose Commands

  • docker-compose up: Create and start containers
  • docker-compose down: Stop and remove containers
  • docker-compose pause: Pause services
  • docker-compose unpause: Unpause services
  • docker-compose restart: Restart services
  • docker-compose logs: View output from containers
  • docker-compose exec <service> <command>: Execute a command in a running service

Docker Compose Files

docker-compose.yml

version: '3'
 
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    networks:
      - mynetwork
 
networks:
  mynetwork:
    driver: bridge
 

Docker Syntax

# Use an existing image as a base
FROM node:alpine

# Set working directory
WORKDIR /usr/app

# Copy package.json and install dependencies
COPY ./package.json ./
RUN npm install

# Copy the rest of the application
COPY ./ ./

# Default command to run on container startup
CMD ["npm", "start"]

Docker Compose Syntax

version: '3'

services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3000:3000"