Intermediate DevOps
Docker Basics
Containers, images, docker-compose, and orchestration.
Containerization with Docker
Docker packages applications with their dependencies into lightweight, portable containers.
Core Concepts
- Image: Blueprint for containers (immutable)
- Container: Running instance of an image
- Dockerfile: Instructions to build an image
- Registry: Storage for images (Docker Hub)
Basic Commands
# Images
docker build -t myapp .
docker pull node:18
docker images
# Containers
docker run -d -p 3000:3000 myapp
docker ps
docker logs container_id
docker stop container_idDockerfile Example
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
EXPOSE 3000
CMD ["npm", "start"]Docker Compose
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
db:
image: postgres:15
environment:
POSTGRES_PASSWORD: secret