Sổ tay kỹ thuật

Docker – lệnh hay dùng

cheatsheet#docker#linux· cập nhật 2026-11-06

Tra nhanh lệnh Docker CLI cho container, image, build, volume, network và dọn dẹp ổ đĩa.

Sửa trang này
Mục lục

Quy ước: <c> là tên hoặc ID container, <img> là image. Các lệnh dùng cú pháp Docker Engine hiện hành (docker compose là plugin v2, không có gạch nối). Compose xem Docker Compose – pattern hay dùng.

Container

Mục đích Lệnh
Chạy nền, đặt tên, publish port docker run -d --name web -p 8080:80 nginx:1.27
Chạy tạm, xoá khi thoát docker run --rm -it alpine:3.20 sh
Truyền env / file env docker run -e TZ=Asia/Ho_Chi_Minh --env-file .env <img>
Tự khởi động lại docker run -d --restart unless-stopped <img>
Giới hạn tài nguyên docker run --memory 512m --cpus 1.5 <img>
Container đang chạy / tất cả docker ps / docker ps -a
Lọc theo trạng thái docker ps -a --filter status=exited
Dừng / khởi động / xoá docker stop <c> / docker start <c> / docker rm -f <c>
Vào shell docker exec -it <c> sh
Chạy lệnh với user root docker exec -u 0 -it <c> sh
Copy file ra/vào docker cp <c>:/etc/nginx/nginx.conf . / docker cp ./f.txt <c>:/tmp/
Đổi restart policy khi đang chạy docker update --restart unless-stopped <c>

Log và kiểm tra

Mục đích Lệnh
Theo dõi log docker logs -f --tail 200 <c>
Log trong khoảng thời gian docker logs --since 30m --timestamps <c>
CPU/RAM realtime docker stats / docker stats --no-stream
Xem cấu hình đầy đủ docker inspect <c>
IP của container docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}' <c>
Exit code và lý do dừng docker inspect -f '{{.State.ExitCode}} {{.State.OOMKilled}}' <c>
Trạng thái healthcheck docker inspect -f '{{.State.Health.Status}}' <c>
Port đã publish docker port <c>
Process trong container docker top <c>
File đã thay đổi so với image docker diff <c>
Event realtime (die, oom, health) docker events --filter type=container

Image và build

Mục đích Lệnh
Build và gắn tag docker build -t registry.example.com/app:1.2.0 .
Build với Dockerfile khác, build arg docker build -f Dockerfile.prod --build-arg VERSION=1.2.0 -t app .
Build không dùng cache docker build --no-cache --pull -t app .
Build đa kiến trúc và push docker buildx build --platform linux/amd64,linux/arm64 -t <img> --push .
Danh sách image docker images (hoặc docker image ls)
Lịch sử layer, dung lượng docker history <img>
Gắn tag / push / pull docker tag app registry.example.com/app:1.2.0 / docker push <img> / docker pull <img>
Đăng nhập registry (đọc password từ stdin) echo "$REG_TOKEN" | docker login registry.example.com -u ci --password-stdin
Xuất / nạp image offline docker save -o app.tar <img> / docker load -i app.tar

Volume và network

Mục đích Lệnh
Tạo / liệt kê volume docker volume create pgdata / docker volume ls
Mount volume / bind mount chỉ đọc -v pgdata:/var/lib/postgresql/data / -v ./conf:/etc/app:ro
Volume nằm ở đâu trên host docker volume inspect pgdata
Backup volume ra tar docker run --rm -v pgdata:/data -v "$PWD":/backup alpine tar czf /backup/pgdata.tgz -C /data .
Tạo network bridge riêng docker network create appnet
Gắn container vào network docker network connect appnet <c>
Container nào trong network docker network inspect appnet

Dọn dẹp

Mục đích Lệnh
Xem dung lượng Docker đang chiếm docker system df
Xoá container đã dừng docker container prune
Xoá image dangling / mọi image không dùng docker image prune / docker image prune -a
Xoá build cache docker builder prune
Dọn tổng (không đụng volume) docker system prune

docker system prune -a --volumes xoá luôn volume không gắn với container nào, kể cả dữ liệu database của stack đang down. Chạy docker volume ls trước.

Log mặc định (json-file) không giới hạn dung lượng. Đặt "log-opts": {"max-size": "10m", "max-file": "3"} trong /etc/docker/daemon.json rồi restart Docker (chỉ áp dụng cho container tạo mới). Xem thêm Disk đầy.