Các Lệnh CLI Docker Mọi Lập Trình Viên Nên Biết Trong Năm 2025
Nếu bạn muốn bắt đầu với Docker, việc hiểu cách làm việc với giao diện dòng lệnh của nó là rất quan trọng để quản lý các container và hình ảnh của bạn một cách hiệu quả.
Docker đã trở thành giải pháp phổ biến để đóng gói ứng dụng, và hướng dẫn này sẽ giúp bạn nắm vững các lệnh cơ bản cần biết để quản lý môi trường Docker của bạn.
Bắt đầu với các lệnh Docker
Trước khi đi sâu vào các lệnh cụ thể, điều quan trọng là phải hiểu rằng các lệnh Docker tuân theo một cấu trúc đơn giản và hầu hết các lệnh bắt đầu với docker, tiếp theo là hành động bạn muốn thực hiện và bất kỳ tùy chọn hoặc đối số bổ sung nào.
Các lệnh đầu tiên mà bạn nên làm quen là lệnh help và version, những lệnh này hữu ích cho bất kỳ tiện ích dòng lệnh nào, và Docker cũng không ngoại lệ.
Để kiểm tra phiên bản Docker của bạn, chỉ cần chạy:
docker --version
Khi bạn cần trợ giúp với bất kỳ lệnh Docker nào, hệ thống trợ giúp tích hợp sẽ trở thành điểm tham khảo đầu tiên của bạn, nơi bạn có thể truy cập thông tin trợ giúp chung bằng cách chạy lệnh sau:
docker --help
Bạn cũng có thể nhận được sự trợ giúp cụ thể cho bất kỳ lệnh nào mà bạn muốn hiểu rõ hơn, điều này sẽ hiển thị tất cả các tùy chọn và cờ có sẵn cho lệnh đó.
docker run --help
Làm việc với Docker Images
Docker image là nền tảng của các container của bạn, vì chúng chứa tất cả những gì cần thiết để chạy một ứng dụng, bao gồm mã nguồn, môi trường chạy, thư viện và các phụ thuộc.
Các lệnh sau sẽ hướng dẫn bạn cách làm việc hiệu quả với các hình ảnh Docker.
Tìm kiếm Docker Images
Trước khi bạn có thể sử dụng một hình ảnh, bạn cần tìm nó trước trên Docker Hub, nơi đóng vai trò như kho lưu trữ mặc định với hàng nghìn hình ảnh được xây dựng sẵn sẵn có để bạn sử dụng.
Để tìm kiếm một hình ảnh cụ thể, bạn có thể chạy lệnh sau, lệnh này sẽ hiển thị danh sách các hình ảnh nginx có sẵn cùng với mô tả và đánh giá sao của chúng, giúp bạn xác định các tùy chọn phổ biến và được duy trì tốt nhất.
sudo docker search nginx
Kéo hình ảnh Docker
Khi bạn đã tìm thấy hình ảnh cần thiết, bạn có thể tải nó về hệ thống cục bộ của mình bằng lệnh pull, lệnh này sẽ kéo phiên bản mới nhất:
sudo docker pull nginx
Nếu bạn cần một phiên bản cụ thể, bạn có thể chỉ định thẻ:
sudo docker pull nginx:1.25.3
Liệt kê các hình ảnh Docker cục bộ
Để xem tất cả các hình ảnh mà bạn đã lưu trữ cục bộ, hãy sử dụng lệnh sau, lệnh này sẽ hiển thị một bảng cho thấy tên kho lưu trữ, nhãn, ID hình ảnh, ngày tạo và kích thước của từng hình ảnh trên hệ thống của bạn.
sudo docker images
Xây dựng hình ảnh Docker tùy chỉnh
Khi bạn cần tạo hình ảnh tùy chỉnh của riêng mình từ Dockerfile, trước tiên bạn cần tạo chính Dockerfile trong thư mục hiện tại của bạn với nội dung sau:
FROM ubuntu:24.04
RUN apt update && apt install -y nginx
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Dockerfile ở trên tạo ra một hình ảnh máy chủ web đơn giản dựa trên Ubuntu 24.04, cài đặt và chạy Nginx. Khi bạn đã có một Dockerfile, bạn có thể xây dựng hình ảnh tùy chỉnh của mình bằng lệnh build:
sudo docker build -t myapp:1.0 .
Cờ -t cho phép bạn gán thẻ cho hình ảnh với tên và phiên bản để dễ dàng nhận diện, trong ví dụ này, myapp là tên hình ảnh và 1.0 là thẻ phiên bản. Dấu . (chấm) ở cuối chỉ ra rằng ngữ cảnh xây dựng là thư mục hiện tại của bạn, nơi Docker sẽ tìm Dockerfile mà bạn vừa tạo.
Xóa các hình ảnh Docker
Khi bạn cần xóa một hình ảnh mà bạn không còn cần nữa khỏi hệ thống của mình, bạn có thể sử dụng lệnh sau:
sudo docker rmi nginx:latest
Tuy nhiên, nếu hình ảnh đang được sử dụng bởi một container đang chạy hoặc đã dừng, Docker sẽ ngăn bạn xóa nó. Trong những trường hợp như vậy, bạn sẽ cần xóa container trước khi xóa hình ảnh, hoặc bạn có thể cưỡng chế xóa bằng cách thêm tùy chọn -f vào lệnh.
docker rm container_name
docker rmi -f nginx:latest
Quản lý các Container Docker
Phần tiếp theo sẽ hướng dẫn bạn quản lý các container, là các phiên bản đang chạy của các hình ảnh Docker của bạn. Hiểu cách quản lý và kiểm soát các container này là điều cần thiết để làm việc hiệu quả với Docker trong các hoạt động hàng ngày của bạn.
Chạy các container Docker
Cách cơ bản nhất để chạy một container từ một image là sử dụng lệnh sau.
sudo docker run nginx
Tuy nhiên, lệnh trên chạy container ở chế độ nền trước, điều này sẽ chiếm giữ terminal của bạn. Trong các trường hợp sử dụng thực tế, bạn sẽ muốn chạy các container của mình ở chế độ tách biệt thay vào đó:
sudo docker run -d nginx
Bạn cũng có thể ánh xạ các cổng và đặt tên cho các container của mình để quản lý và nhận dạng dễ dàng hơn:
sudo docker run -d -p 8080:80 --name my-webserver nginx
Lệnh trên chạy một container nginx ở chế độ nền bằng cách sử dụng cờ -d, ánh xạ cổng 8080 trên máy chủ của bạn tới cổng 80 bên trong container bằng cờ -p, và đặt tên cho nó là "my-webserver" với cờ --name.
Liệt kê các Container Docker
Để xem tất cả các container đang chạy trên hệ thống của bạn, bạn có thể sử dụng lệnh sau:
sudo docker ps
Tuy nhiên, nếu bạn muốn xem tất cả các container trên hệ thống của mình, bao gồm cả những container đã dừng, bạn có thể thêm cờ -a vào lệnh:
sudo docker ps -a
Khởi động và Dừng các Container Docker
Trước khi bạn có thể dừng, bắt đầu hoặc khởi động lại một container, trước tiên bạn cần biết những container nào đang tồn tại trên hệ thống của mình.
sudo docker ps -a
Khi bạn đã biết tên các container, bạn có thể dừng một container đang chạy bằng lệnh stop:
sudo docker stop my-webserver
Để khởi động một container đã bị dừng trước đó, bạn có thể sử dụng lệnh start:
sudo docker start my-webserver
Nếu bạn cần khởi động lại một container, lệnh này sẽ dừng nó và sau đó khởi động lại, bạn có thể sử dụng lệnh restart:
sudo docker restart my-webserver
Xóa các container Docker
Khi bạn không còn cần một container nữa, bạn có thể xóa nó khỏi hệ thống của mình để giải phóng không gian bằng lệnh rm:
sudo docker rm happy_satoshi
Tuy nhiên, nếu bạn cố gắng gỡ bỏ một container đang chạy, Docker sẽ ngăn chặn việc gỡ bỏ và hiển thị lỗi. Trong những trường hợp như vậy, bạn có hai lựa chọn – bạn có thể dừng container trước rồi mới gỡ bỏ nó, hoặc bạn có thể ép gỡ bỏ bằng cách sử dụng tùy chọn -f:
sudo docker rm -f happy_satoshi
Cờ force cho phép bạn xóa một container đang chạy mà không cần dừng nó trước, mặc dù bạn nên sử dụng tùy chọn này cẩn thận vì nó sẽ ngay lập tức kết thúc container mà không thông qua quá trình tắt máy an toàn.
Giám sát và Gỡ lỗi các Container Docker
Hiểu những gì đang xảy ra bên trong các container của bạn là điều quan trọng để khắc phục sự cố và duy trì các ứng dụng khỏe mạnh. Các phần sau sẽ hướng dẫn bạn các lệnh cơ bản để giám sát và gỡ lỗi các container Docker của bạn.
Xem nhật ký container
Để kiểm tra các nhật ký được tạo bởi một container, bạn có thể sử dụng lệnh logs:
sudo docker logs awesome_heyrovsky
Nếu bạn muốn theo dõi các nhật ký thời gian thực khi chúng được tạo, tương tự như sử dụng lệnh tail -f trên một tệp nhật ký, bạn có thể thêm cờ -f:
sudo docker logs -f awesome_heyrovsky
Thực thi lệnh bên trong các container
Một trong những tính năng mạnh mẽ nhất mà Docker cung cấp là khả năng thực thi các lệnh bên trong các container đang chạy, cho phép bạn truy cập vào shell của container và khám phá môi trường của nó:
sudo docker exec -it awesome_heyrovsky /bin/bash
Lệnh trên mở một shell tương tác bên trong container bằng cách sử dụng các cờ -it (terminal tương tác), cho phép bạn chạy lệnh, kiểm tra các tệp và gỡ lỗi trực tiếp trong môi trường của container.
Kiểm tra chi tiết container
Khi bạn cần thông tin chi tiết về cấu hình, cài đặt mạng và trạng thái của một container, bạn có thể sử dụng lệnh inspect:
sudo docker inspect awesome_heyrovsky
Lệnh trên trả về dữ liệu toàn diện định dạng JSON về container, bao gồm cấu hình, cài đặt mạng, các ổ đĩa đã gắn và các biến môi trường.
Giám sát việc sử dụng tài nguyên
Để xem mức sử dụng tài nguyên theo thời gian thực cho tất cả các container đang chạy trên hệ thống của bạn, bạn có thể sử dụng lệnh stats, lệnh này sẽ hiển thị luồng trực tiếp về việc sử dụng CPU, tiêu thụ bộ nhớ, I/O mạng và sử dụng đĩa cho từng container đang chạy:
sudo docker stats
Dọn dẹp và Bảo trì Docker
Theo thời gian, Docker tích tụ các hình ảnh, container, mạng và các tài nguyên khác không sử dụng trên hệ thống của bạn, vì vậy việc dọn dẹp định kỳ trở nên quan trọng để giải phóng dung lượng ổ đĩa và giữ cho môi trường Docker của bạn được tổ chức ngăn nắp.
Để xóa tất cả các container đã dừng khỏi hệ thống của bạn chỉ với một lệnh, bạn có thể sử dụng:
sudo docker container prune
Nếu bạn muốn xóa các hình ảnh không sử dụng nữa và không còn được tham chiếu bởi bất kỳ container nào, hãy sử dụng:
sudo docker image prune
Để thực hiện dọn dẹp toàn diện hơn, xử lý nhiều loại tài nguyên không sử dụng cùng lúc, bạn có thể sử dụng lệnh prune của hệ thống:
sudo docker system prune
Bảng Hướng Dẫn Nhanh Các Lệnh Docker
Đây là bảng tham khảo tiện lợi các lệnh Docker được sử dụng nhiều nhất để truy cập nhanh:
| Lệnh | Mô tả | Ví dụ |
|---|---|---|
docker --version | Kiểm tra phiên bản Docker | docker --version |
docker pull | Tải xuống hình ảnh | docker pull nginx |
docker images | Liệt kê hình ảnh trong máy | docker images |
docker run | Tạo và khởi động container | docker run -d nginx |
docker ps | Liệt kê các container đang chạy | docker ps |
docker ps -a | Liệt kê tất cả các container | docker ps -a |
docker stop | Dừng một container | docker stop my-container |
docker start | Khởi động một container | docker start my-container |
docker restart | Khởi động lại một container | docker restart my-container |
docker rm | Xóa một container | docker rm my-container |
docker rmi | Xóa hình ảnh | docker rmi nginx |
docker logs | Xem nhật ký container | docker logs my-container |
docker exec | Thực hiện lệnh trong container | docker exec -it my-container bash |
docker inspect | Xem thông tin chi tiết | docker inspect my-container |
docker stats | Theo dõi việc sử dụng tài nguyên | docker stats |
docker system prune | Dọn dẹp các tài nguyên không sử dụng | docker system prune |
Kết luận
Hướng dẫn này đã hướng dẫn bạn qua các lệnh Docker cơ bản mà bạn cần biết để quản lý container và hình ảnh một cách hiệu quả trong môi trường của mình.
Bạn đã học cách tìm kiếm và lấy hình ảnh từ Docker Hub, chạy và quản lý các container với nhiều tùy chọn khác nhau, giám sát hiệu suất và nhật ký của chúng, và giữ cho môi trường Docker của bạn sạch sẽ thông qua bảo trì định kỳ.
Bạn đã tìm thấy lệnh Docker nào đặc biệt hữu ích chưa? Hay bạn có mẹo và thủ thuật nào giúp làm việc với Docker dễ dàng hơn không? Hãy thoải mái chia sẻ kinh nghiệm của bạn trong phần bình luận bên dưới, những hiểu biết của bạn có thể giúp các độc giả khác trong hành trình sử dụng Docker!















