Docker
Container Lifecycle
docker run <image>—Create & start container
docker run -d—Run in background
docker run -it—Interactive terminal
docker run -p 80:80—Map port host:container
docker run -v /h:/c—Bind mount volume
docker run --name app—Name the container
docker run --rm—Remove after stop
docker run -e VAR=val—Set env variable
docker run --env-file .env—Load env from file
docker run --network net—Connect to network
Container Management
docker ps—List running containers
docker ps -a—List all containers
docker stop <id>—Stop container
docker start <id>—Start stopped container
docker restart <id>—Restart container
docker rm <id>—Remove container
docker rm -f <id>—Force remove
docker exec -it <id> sh—Shell into container
docker logs <id>—View container logs
docker logs -f <id>—Follow live logs
Images
docker images—List local images
docker pull <image>—Download image
docker build -t name .—Build from Dockerfile
docker build -f file .—Build with custom file
docker tag img new:tag—Tag an image
docker push img:tag—Push to registry
docker rmi <image>—Remove image
docker image prune—Remove unused images
Dockerfile Instructions
FROM node:20-alpine—Base image
WORKDIR /app—Set working directory
COPY . .—Copy files into image
RUN npm install—Execute build command
EXPOSE 3000—Document exposed port
ENV NODE_ENV=production—Set environment variable
CMD ["node", "app.js"]—Default run command
ENTRYPOINT ["node"]—Fixed executable
ARG VERSION=latest—Build-time variable
HEALTHCHECK CMD curl ...—Container health check
Docker Compose
docker compose up -d—Start all services
docker compose down—Stop & remove all
docker compose build—Build all services
docker compose logs -f—Follow all logs
docker compose ps—List services
docker compose exec svc sh—Shell into service
docker compose pull—Pull latest images
docker compose restart—Restart all services
Volumes & Networks
docker volume create vol—Create named volume
docker volume ls—List volumes
docker volume rm vol—Remove volume
docker network create net—Create network
docker network ls—List networks
docker network inspect—Network details
Cleanup
docker system prune—Remove unused data
docker system prune -a—Remove all unused
docker container prune—Remove stopped
docker image prune -a—Remove all dangling
docker volume prune—Remove unused volumes
docker system df—Show disk usage
Inspect & Debug
docker inspect <id>—Full container details
docker stats—Live resource usage
docker top <id>—Container processes
docker cp <id>:/path .—Copy from container
docker diff <id>—Changed files
docker port <id>—Port mappings
allprintabledoc.com