What is Docker?
Docker packages applications and dependencies into lightweight containers, ensuring consistent behavior across environments.
Installation
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
docker run hello-world
Key Commands
docker pull nginx
docker run -d --name my-nginx -p 80:80 nginx
docker ps
docker logs my-nginx
docker exec -it my-nginx bash
docker stop my-nginx && docker rm my-nginx
Docker Compose
# docker-compose.yml
services:
web:
image: nginx
ports: ["80:80"]
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: secret
docker compose up -d
docker compose down
Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --production
COPY . .
CMD ["node", "server.js"]