Tìm kiếm trang web

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

Kiểm tra Phiên bản Docker và Sử dụng Trợ giúp Có sẵn

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

Nhận Trợ Giúp Chi Tiết cho Bất Kỳ Lệnh Docker Nào

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

Tìm kiếm hình ảnh Docker trên Docker Hub

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

Kéo hình ảnh Docker từ Docker Hub

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

Kiểm tra các hình ảnh Docker lưu trữ cục bộ

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.

Tạo một hình ảnh Docker từ Dockerfile

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

Xóa một hình ảnh Docker một cách an toàn

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

Chạy một container Docker từ một hình ảnh

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

Liệt kê các container Docker đang chạy

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

Khởi động và Dừng các Container Docker

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.

Xóa một Container Docker

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

Xem nhật ký của Docker Container

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.

Thực thi lệnh bên trong một container Docker đang chạy

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.

Xem Cấu Hình Container Docker

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

Theo dõi Sử dụng Tài nguyên của Container Docker

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

Xóa tất cả các container Docker đã dừng

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ệnhMô tảVí dụ
docker --versionKiểm tra phiên bản Dockerdocker --version
docker pullTải xuống hình ảnhdocker pull nginx
docker imagesLiệt kê hình ảnh trong máydocker images
docker runTạo và khởi động containerdocker run -d nginx
docker psLiệt kê các container đang chạydocker ps
docker ps -aLiệt kê tất cả các containerdocker ps -a
docker stopDừng một containerdocker stop my-container
docker startKhởi động một containerdocker start my-container
docker restartKhởi động lại một containerdocker restart my-container
docker rmXóa một containerdocker rm my-container
docker rmiXóa hình ảnhdocker rmi nginx
docker logsXem nhật ký containerdocker logs my-container
docker execThực hiện lệnh trong containerdocker exec -it my-container bash
docker inspectXem thông tin chi tiếtdocker inspect my-container
docker statsTheo dõi việc sử dụng tài nguyêndocker stats
docker system pruneDọn dẹp các tài nguyên không sử dụngdocker 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!