Introduction
Docker is a containerization platform that allows you to package applications and their dependencies into lightweight, portable containers. Here’s a quick cheatsheet to get started and work efficiently with Docker.
1. Docker Basics
- Check Docker version:
docker --version
- List running containers:
docker ps
- List all containers (running + stopped):
docker ps -a
- List all images:
docker images
- Stop a container:
docker stop <container_id>
- Remove a container:
docker rm <container_id>
- Remove an image:
docker rmi <image_name>
2. Working with Images
- Pull an image from Docker Hub:
docker pull <image_name>:<tag>
- Build an image from Dockerfile:
docker build -t <image_name>:<tag> .
- Run a container from an image:
docker run -d --name <container_name> <image_name>:<tag>
- Run container with port mapping:
docker run -d -p 8080:80 <image_name>
3. Dockerfile Essentials
- Basic structure:
# Use a base image
FROM node:18
# Set working directory
WORKDIR /app
# Copy package files and install dependencies
COPY package*.json ./
RUN npm install
# Copy app source code
COPY . .
# Expose port and start app
EXPOSE 3000
CMD ["node", "index.js"]
4. Docker Compose Basics
- docker-compose.yml example for Node.js + MongoDB:
version: '3'
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
depends_on:
- mongo
mongo:
image: mongo:6
ports:
- "27017:27017"
- Commands:
docker-compose up # Start all services
docker-compose down # Stop all services
docker-compose logs -f # Follow logs
5. Useful Docker Commands
- View container logs:
docker logs -f <container_id>
- Execute a command in running container:
docker exec -it <container_id> bash
- Remove all stopped containers:
docker container prune
- Remove unused images:
docker image prune -a
Conclusion:
Docker simplifies deployment, ensures consistency, and makes scaling easier. Keep this cheatsheet handy while developing and experimenting with containers.
Top comments (0)