NỘI DUNG
Docker là một công cụ mạnh mẽ giúp quản lý và triển khai ứng dụng trong các container. Để làm việc hiệu quả với Docker, bạn cần nắm vững các lệnh cơ bản. Trong bài viết này, hãy cùng tôi tìm hiểu qua các lệnh Docker phổ biến nhất. Và trong các lệnh tôi sẽ kèm theo giải thích, ví dụ thực tế để các bạn dễ hình dung

1. docker -version
Lệnh này hiển thị phiên bản hiện tại của Docker đang cài đặt trên máy của bạn.
docker -version
Kết quả cho thấy phiên bản Docker là 20.10.12, cùng với thông tin build.
Docker version 20.10.12, build e91ed57
2. docker pull
Lệnh này tải một image từ Docker Hub (hoặc registry khác) về máy cục bộ.
docker pull ubuntu:latest
Image ubuntu:latest được tải xuống thành công.
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e140d831ca61e83f791f4281c8f2b4e3d8b8
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
3. docker run
Lệnh này tạo và khởi chạy một container từ một image.
docker run -d --name my-ubuntu ubuntu:latest sleep 3600
Container được chạy ở chế độ nền (-d), với tên my-ubuntu, và kết quả trả về là ID của container.
a1b2c3d4e5f6
4. docker ps
Hiển thị danh sách các container đang chạy.
docker ps
Hiển thị thông tin về container my-ubuntu đang chạy.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 ubuntu:latest "sleep 3600" 2 minutes ago Up 2 minutes my-ubuntu
5. docker ps -a
Hiển thị tất cả container (bao gồm cả container đã dừng).
docker ps -a
Hiển thị cả container đang chạy và đã dừng.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 ubuntu:latest "sleep 3600" 3 minutes ago Up 3 minutes my-ubuntu
b2c3d4e5f6a7 ubuntu:latest "bash" 5 minutes ago Exited (0) 4 minutes ago funny-container
6. docker exec
Chạy một lệnh bên trong container đang hoạt động.
docker exec -it my-ubuntu bash
Bạn sẽ được đưa vào shell của container. Với -it
, bạn có thể tương tác trực tiếp trong container.
root@a1b2c3d4e5f6:/#
7. docker stop
Dừng một container đang chạy một cách an toàn.
docker stop my-ubuntu
Container my-ubuntu được dừng, và tên container được trả về.
my-ubuntu
8. docker kill
Dừng container ngay lập tức (không an toàn như stop).
docker kill a1b2c3d4e5f6
Container với ID a1b2c3d4e5f6 bị dừng đột ngột.
9. docker commit
Tạo một image mới từ trạng thái hiện tại của container.
docker commit my-ubuntu my-custom-ubuntu
Một image mới my-custom-ubuntu được tạo.
sha256:xyz789abc123def456ghi789jkl012mno345pqr678stu901vwx234
10. docker login
Đăng nhập vào Docker Hub hoặc registry khác.
docker login
Sau khi nhập thông tin, bạn đăng nhập thành công.
Username: yourusername
Password:
Login Succeeded
11. docker push
Đẩy một image lên Docker Hub hoặc registry.
docker push yourusername/my-custom-ubuntu
Image được đẩy lên thành công.
The push refers to repository [docker.io/yourusername/my-custom-ubuntu]
abc123def456: Pushed
latest: digest: sha256:xyz789... size: 1234
12. docker images
Liệt kê các image đang có
docker images
Hiển thị danh sách image và thông tin chi tiết.
REPOSITORY TAG IMAGE ID CREATED SIZE
my-custom-ubuntu latest xyz789abc123 5 minutes ago 72.8MB
ubuntu latest 626ffe58f6e7 2 weeks ago 72.8MB
13. docker rm
Xóa một container đã dừng. Khi chạy lệnh thì container my-ubuntu được xóa.
docker rm my-ubuntu
14. docker rmi
Xóa một image khỏi máy cục bộ.
docker rmi my-custom-ubuntu
Image my-custom-ubuntu bị xóa.
Untagged: my-custom-ubuntu:latest
Deleted: sha256:xyz789abc123def456ghi789jkl012mno345pqr678stu901vwx234
15. docker build
Xây dựng một image từ Dockerfile. Giả sử bạn có file Dockerfile:
FROM ubuntu:latest
CMD ["echo", "Hello Docker"]
Khi đó bạn chạy lệnh sau
docker build -t my-app .
Thì lập tức Image my-app được tạo thành công.
Step 1/2 : FROM ubuntu:latest
---> 626ffe58f6e7
Step 2/2 : CMD ["echo", "Hello Docker"]
---> Running in abc123def456
Successfully built xyz789abc123
Successfully tagged my-app:latest
Trên đây là 15 lệnh Docker cơ bản và thường xuyên sử dụng nhất và còn rất nhiều lệnh mà tôi không đề cập. Tuy nhiên trong tương lai tôi sẽ cập nhật thường xuyên để bạn dễ dàng sử dụng. Vì việc nắm vững các lệnh này sẽ giúp bạn quản lý container và image một cách hiệu quả hơn.