Lệnh docker info
là một trong những lệnh cơ bản và quan trọng của Docker, cung cấp thông tin chi tiết về trạng thái và cấu hình của Docker engine, bao gồm cả thông tin về hệ thống và các thành phần khác như container, image, volume, và network. Đây là một công cụ hữu ích để kiểm tra và giám sát môi trường Docker của bạn, đặc biệt là khi cần chẩn đoán các vấn đề hoặc thu thập thông tin phục vụ việc quản trị.
Cú pháp lệnh
Khi chạy lệnh này, bạn sẽ nhận được một bản báo cáo chi tiết về Docker daemon (Docker engine) và cấu hình của hệ thống Docker. Lệnh docker info
không yêu cầu bất kỳ tham số nào kèm theo và có thể chạy mà không cần quyền root, nhưng bạn cần có quyền quản trị Docker (ví dụ như thuộc nhóm docker
trên hệ thống Linux).
Thông tin được cung cấp bởi lệnh docker info
Dưới đây là các thông tin chi tiết mà lệnh docker info
có thể cung cấp:
1. Server Information (Thông tin về máy chủ)
- Containers: Số lượng container trên hệ thống, bao gồm các container đang chạy, đã dừng, và bị tạm dừng.
- Images: Số lượng Docker image hiện có trong hệ thống.
- Storage Driver: Thông tin về loại driver được Docker sử dụng để quản lý storage, ví dụ như
overlay2
, aufs
, hoặc devicemapper
.
- Volume: Số lượng volume được tạo và lưu trữ trong hệ thống.
- Network: Các mạng Docker được tạo trên hệ thống (bridge, host, none, hoặc custom networks).
- Logging Driver: Driver được Docker sử dụng để ghi lại log của container.
- Cgroup Driver: Loại cgroup driver được sử dụng để quản lý tài nguyên container (cgroupfs hoặc systemd).
- Plugins: Danh sách các plugin đang được sử dụng cho storage, network, log, và các chức năng khác.
- Swarm: Trạng thái của Swarm (cụm container) nếu Docker đang chạy trong chế độ Swarm.
- Runtimes: Các runtime container đang được hỗ trợ, chẳng hạn như
runc
.
- Kernel Version: Phiên bản kernel của hệ điều hành mà Docker đang chạy.
- Operating System: Tên và phiên bản của hệ điều hành.
- Architecture: Kiến trúc của hệ thống, ví dụ như
x86_64
hoặc arm
.
- Docker Root Dir: Thư mục chính của Docker, nơi Docker lưu trữ dữ liệu (image, container, volume, network).
2. Client Information (Thông tin về client)
- Debug Mode: Nếu chế độ gỡ lỗi được bật, nó sẽ cung cấp thông tin chi tiết hơn cho quá trình debug.
- Version: Phiên bản của Docker client mà bạn đang sử dụng.
- API Version: Phiên bản API mà Docker sử dụng để giao tiếp giữa client và server.
- Go Version: Phiên bản của Go language dùng để biên dịch Docker.
- Git Commit: Thông tin commit từ Git tương ứng với phiên bản Docker hiện tại.
Ví dụ kết quả của lệnh docker info
Dưới đây là một ví dụ về kết quả đầu ra của lệnh docker info
trên một hệ thống Linux:
Client:
Version: 20.10.5
API version: 1.41
Go version: go1.13.15
Git commit: 55c4c88
Built: Tue Mar 2 20:18:46 2021
OS/Arch: linux/amd64
Context: default
Experimental: false
Server:
Containers: 3
Running: 1
Paused: 0
Stopped: 2
Images: 10
Server Version: 20.10.5
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
Kernel Version: 5.8.0-48-generic
Operating System: Ubuntu 20.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.53GiB
Name: docker-server
Docker Root Dir: /var/lib/docker
Debug Mode: false
Username: dockeruser
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Các tình huống sử dụng của lệnh docker info
1. Kiểm tra trạng thái của Docker Daemon
Lệnh docker info
là cách nhanh chóng để xác minh xem Docker daemon có đang hoạt động chính xác hay không. Bạn có thể xem thông tin chi tiết về số lượng container đang chạy, hệ điều hành, và phiên bản kernel mà Docker đang sử dụng.
2. Xác nhận thông tin cấu hình Docker
Khi bạn cần kiểm tra các thông tin cấu hình chi tiết như loại storage driver, cgroup driver, hoặc logging driver mà Docker đang sử dụng, lệnh này sẽ cung cấp thông tin đó một cách nhanh chóng.
3. Giám sát số lượng container và image
Lệnh docker info
cho bạn cái nhìn tổng quan về số lượng container đang chạy, container đã dừng, và số lượng image trong hệ thống. Điều này rất hữu ích để quản lý tài nguyên Docker hiệu quả.
4. Giải quyết vấn đề và gỡ lỗi
Trong quá trình xử lý sự cố hoặc gỡ lỗi Docker, bạn có thể cần biết phiên bản Docker, cấu hình plugin, hay thông tin về các network và volume mà Docker đang quản lý. Lệnh docker info
cung cấp tất cả những thông tin này để giúp bạn dễ dàng chẩn đoán và xử lý vấn đề.
Kết luận
Lệnh docker info
cung cấp một cái nhìn toàn diện về trạng thái của Docker engine, từ cấu hình hệ thống cho đến thông tin chi tiết về các container, image, volume và network. Đây là một công cụ mạnh mẽ và dễ sử dụng, đặc biệt hữu ích cho việc quản lý Docker và xử lý sự cố trong các môi trường phức tạp. Nắm vững lệnh docker info
sẽ giúp bạn quản trị Docker hiệu quả hơn và tiết kiệm thời gian trong việc kiểm tra và giám sát hệ thống.