Skip to content

Lệnh Docker được giải thích

Các lệnh Docker dùng hàng ngày, nhóm theo công việc: build và di chuyển image, chạy và dừng container, tinh chỉnh docker run bằng cờ, đọc log và thống kê, truy cập bên trong container, sao chép tệp và làm việc với registry, quản lý volume và mạng, điều khiển Compose, và thu hồi dung lượng đĩa.

Docker gồm hai đối tượng: image (bản mẫu chỉ đọc) và container (một phiên bản đang chạy của image). Bạn build hoặc pull một image, chạy nó thành container, xem xét diễn biến, rồi dọn dẹp. Hầu hết mọi người còn dùng Compose để khai báo ứng dụng nhiều container. Mọi lệnh dưới đây đều có dạng ngắn; dạng đầy đủ được hiển thị ở nơi nó rõ ràng hơn.

Bảng tham chiếu · 75 mục
75 of 75 rows
Build
Build một image từ Dockerfile.docker build -t app:1.0 .
Build lại image từ đầu, bỏ qua các layer đã cache.docker build --no-cache -t app:1.0 .
Chỉ build đến một stage được đặt tên trong Dockerfile nhiều stage.docker build --target deps -t app:deps .
Build image qua plugin buildx, plugin này điều khiển BuildKit.docker buildx build -t app:1.0 .
Build một image cho nhiều kiến trúc CPU.docker buildx build --platform linux/amd64,linux/arm64 -t app:1.0 --push .
Image
Tải một image từ registry.docker pull node:20
Liệt kê các image lưu cục bộ.docker images
Tạo tag mới trỏ đến cùng image đó.docker tag app:1.0 app:latest
Xóa một hoặc nhiều image cục bộ.docker rmi app:1.0
Vòng đời container
Tạo và khởi động container từ một image.docker run -p 8080:3000 app
Tạo container mà không khởi động nó.docker create --name web app
Khởi động một container đã dừng.docker start web
Dừng container đang chạy một cách lịch sự.docker stop web
Dừng rồi khởi động lại container trong một bước.docker restart web
Ép dừng container ngay lập tức, không chờ tiến trình tắt một cách lịch sự.docker kill web
Đóng băng mọi tiến trình bên trong container.docker pause web
Rã đông các tiến trình của container đang bị pause.docker unpause web
Chặn cho đến khi container dừng, rồi in mã thoát của nó.docker wait web
Liệt kê container đang chạy; thêm -a để gồm cả container đã dừng.docker ps -a
Đặt tên mới cho container hiện có.docker rename web web-old
Thay đổi giới hạn tài nguyên hoặc chính sách restart của container.docker update --restart=unless-stopped web
Xóa một container đã dừng.docker rm web
Cờ của docker run
Chạy container ở nền và in ID của nó.docker run -d -p 8080:80 app
Xuất bản một cổng container lên một cổng máy chủ.docker run -p 8080:80 app
Gắn thư mục máy chủ hoặc volume có tên vào container.docker run -v app-data:/data app
Đặt biến môi trường trong container.docker run -e MODE=prod app
Đặt tên cố định cho container để dùng trong các lệnh sau.docker run --name web app
Xóa container khi nó kết thúc.docker run --rm app
Khởi động container trên một mạng cụ thể.docker run --network net app
Bảo Docker khi nào thì khởi động lại container.docker run --restart unless-stopped app
Cấp phát terminal và giữ stdin mở cho phiên tương tác.docker run -it alpine sh
Thay entrypoint của image bằng lệnh của bạn.docker run --entrypoint sh app
Giới hạn bộ nhớ hoặc phần CPU container được dùng.docker run --memory 512m --cpus 0.5 app
Kiểm tra
Đọc stdout và stderr của container; -f theo dõi output mới khi nó đến.docker logs -f web
Hiện cấu hình và trạng thái cấp thấp của container hoặc image.docker inspect web
Lấy một trường từ inspect bằng Go template.docker inspect --format '{{.State.Status}}' web
Liệt kê các cổng máy chủ mà container xuất bản.docker port web
Hiện các tệp container đã thay đổi so với image.docker diff web
CPU, bộ nhớ và mạng trực tiếp của các container đang chạy.docker stats
Liệt kê các tiến trình đang chạy bên trong container.docker top web
Truyền trực tiếp sự kiện Docker từ daemon khi chúng xảy ra.docker events --filter type=container
Hiện dung lượng đĩa dùng bởi image, container, volume và cache.docker system df
Hiện thiết lập và trạng thái Docker toàn hệ thống.docker info
Exec và attach
Chạy lệnh bên trong container đang chạy.docker exec -it web sh
Gắn terminal của bạn vào tiến trình chính của container.docker attach web
Tệp và registry
Sao chép tệp giữa container và hệ thống tệp cục bộ.docker cp web:/app/logs ./logs
Đăng nhập vào registry từ CLI.docker login
Đăng xuất khỏi registry.docker logout
Tải image cục bộ lên registry.docker push user/app:1.0
Ghi image ra tệp tar.docker save -o app.tar app:1.0
Đọc image từ tệp tar.docker load -i app.tar
Ghi hệ thống tệp của container ra tệp tar.docker export web > web.tar
Tạo image từ một hệ thống tệp tar.docker import web.tar web:snap
Biến trạng thái hiện tại của container thành image mới.docker commit web app:snap
Volume
Tạo volume có tên cho dữ liệu bền vững.docker volume create data
Liệt kê các volume.docker volume ls
Xóa một volume.docker volume rm data
Mạng
Liệt kê các mạng.docker network ls
Tạo mạng để các container có thể liên lạc với nhau.docker network create net
Kết nối container đang chạy vào một mạng.docker network connect net web
Compose
Build, (tạo lại) và khởi động các service trong compose.yaml; -d để chúng chạy nền.docker compose up -d
Khởi động các service và build lại image của chúng trước.docker compose up --build -d
Chạy lệnh bên trong container service đang chạy.docker compose exec api sh
Xem log của một hoặc nhiều service.docker compose logs -f api
Liệt kê các container service mà Compose quản lý.docker compose ps
Dừng các container service mà không xóa chúng.docker compose stop
Khởi động lại các container service.docker compose restart api
Dừng và xóa container cùng mạng; -v còn xóa cả volume có tên.docker compose down
Hiện cấu hình Compose cuối cùng sau khi hợp nhất và thay thế biến môi trường.docker compose config
Dọn dẹp
Xóa container đã dừng, image treo và mạng không dùng; -a --volumes còn xóa image và volume không dùng.docker system prune -af
Xóa mọi container đã dừng.docker container prune
Xóa image không dùng hoặc image treo.docker image prune -a
Xóa volume không container nào dùng.docker volume prune
Xóa mạng không container nào dùng.docker network prune
Xóa các layer build đã cache.docker builder prune