Lazydocker thay thế các lệnh CLI Docker lặp lại bằng giao diện terminal điều khiển bằng bàn phím, hiển thị container, log và thống kê theo thời gian thực trên một màn hình.
Bạn có mệt mỏi vì phải gõ docker ps, docker logs và docker stats cả chục lần mỗi ngày chỉ để kiểm tra container đang làm gì không?
Giả sử bạn đang quản lý năm container và có sự cố. Quy trình làm việc sẽ là: kiểm tra container đang chạy, grep để tìm đúng cái, sao chép ID, xem log, cuộn qua đầu ra, kiểm tra mức sử dụng CPU bằng một lệnh khác. Đến khi bạn hiểu chuyện gì đang xảy ra, bạn đã chạy cả tá lệnh và mất kha khá thời gian.
Điều này xảy ra vì CLI của Docker không được xây dựng cho việc giám sát liên tục và thao tác nhanh mà công việc phát triển thực tế đòi hỏi.
Lazydocker mang đến cho bạn một giao diện UI trên terminal hiển thị mọi thứ cùng lúc - container đang chạy, log, thống kê và tình trạng dịch vụ trên một màn hình. Bạn có thể khởi động, dừng, khởi động lại container chỉ với một phím, theo dõi log theo thời gian thực và phát hiện tiến trình ngốn tài nguyên mà không cần nhớ hàng loạt lệnh.
Trong bài viết này, tôi sẽ hướng dẫn bạn cài đặt lazydocker, cách điều hướng giao diện và sử dụng nó để tăng tốc các quy trình Docker hằng ngày.
Nếu bạn mới làm quen với Docker, hãy bắt đầu từ căn bản. Khóa học Giới thiệu về Dockercủa chúng tôi sẽ giúp bạn nắm vững nền tảng chỉ trong vài giờ.
Lazydocker là gì?
Lazydocker là một giao diện người dùng trên terminal (TUI) cung cấp cách trực quan để quản lý các container Docker mà không rời khỏi dòng lệnh.
Công cụ này hoạt động trên API của Docker, nghĩa là nó dùng các lệnh giống hệt bạn sẽ chạy thủ công - chỉ là được gói trong một giao diện hiển thị tất cả cùng lúc. Bạn nhận cập nhật theo thời gian thực về trạng thái container, log, thống kê và mức sử dụng tài nguyên trong một cửa sổ duy nhất.
Các TUI như lazydocker phổ biến cho quản lý container vì chúng cân bằng giữa ứng dụng GUI và CLI thuần. Bạn vẫn giữ được tốc độ và khả năng điều khiển bằng bàn phím của terminal, đồng thời bổ sung tổ chức trực quan giúp hệ thống phức tạp dễ đọc hơn. Không cần chuyển ngữ cảnh sang Docker Desktop, cũng không cần nhớ cờ cho mọi lệnh.
Vấn đề mà lazydocker giải quyết
CLI của Docker buộc bạn phải ghép thông tin từ nhiều lệnh khác nhau. Ví dụ:
Muốn xem container nào đang chạy? docker ps
Cần log? docker logs <container_id>
Kiểm tra CPU? docker stats
Mỗi mẩu thông tin lại cần một lệnh riêng, và bạn liên tục sao chép ID container hoặc grep đầu ra để tìm thứ mình cần.
Lazydocker giải quyết bằng cách gom tất cả vào một nơi. Bạn thấy toàn bộ container, log của chúng, mức sử dụng tài nguyên và các thao tác sẵn có trên một màn hình. Bạn điều hướng bằng phím mũi tên. Bạn khởi động hoặc dừng container chỉ bằng một phím thay vì gõ cả lệnh đầy đủ.
Giao diện cũng giúp việc dùng Docker hằng ngày an toàn hơn. Khi sắp xóa container hoặc dọn dẹp image, lazydocker hiển thị chính xác những gì bạn sắp xóa trước khi xác nhận.
Cách cài đặt Lazydocker
Trước khi sử dụng lazydocker, bạn cần cài đặt nó trên hệ thống.
Quy trình cài đặt nhanh và hoạt động trên macOS, Linux và Windows. Bạn có vài lựa chọn tùy thiết lập và trình quản lý gói ưa thích.
Các phương thức cài đặt cho macOS, Linux và Windows
Dưới đây là những cách chính để cài đặt lazydocker:
asdf plugin add lazydocker
asdf install lazydocker latest
asdf global lazydocker latestĐược hỗ trợ bởi
Cài qua Go (nếu bạn đã cài Go):
go install github.com/jesseduffield/lazydocker@latestĐược hỗ trợ bởi
Với cài đặt thủ công, bạn nên tải bản phát hành mới nhất cho nền tảng của mình từ trang phát hành trên GitHub, giải nén và di chuyển tệp nhị phân vào thư mục trong PATH.
Bạn cần cài và chạy Docker trước khi lazydocker hoạt động. Lazydocker kết nối với Docker daemon qua socket của Docker, nên nếu Docker không chạy, lazydocker sẽ không khởi động được.
Sau khi cài, hãy kiểm tra bằng cách chạy lazydocker trong terminal - giao diện sẽ khởi chạy và kết nối đến Docker daemon của bạn.
Khởi động Lazydocker
Bắt đầu với giao diện Lazydocker
Khi khởi chạy lazydocker, bạn sẽ thấy giao diện chia đôi hiển thị môi trường Docker theo thời gian thực.
Giao diện chia thành hai khu vực chính: thanh bên trái để điều hướng và khung bên phải hiển thị chi tiết về mục bạn chọn. Mọi thứ tự động cập nhật khi môi trường Docker thay đổi - không cần làm mới thủ công.
Giao diện Lazydocker
Bố cục giao diện Lazydocker
Thanh bên trái liệt kê năm phần bạn có thể điều hướng qua:
Project - Hiển thị các dự án Docker Compose nếu bạn dùng Compose
Containers - Liệt kê tất cả container với trạng thái và tên
Images - Hiển thị tất cả image Docker trên hệ thống
Volumes - Liệt kê các volume Docker
Networks - Hiển thị các network của Docker
Container đang chạy hiển thị màu xanh lá; container đã thoát màu đỏ hoặc vàng, tùy mã thoát. Bạn sẽ thấy tên container và mã thoát cho container đã dừng.
Khung bên phải thay đổi dựa trên lựa chọn của bạn. Khi chọn một container, bạn sẽ thấy các tab phía trên:
Logs - Log của container theo thời gian thực, tự động cuộn
Stats - CPU và bộ nhớ với cập nhật trực tiếp
Env - Biến môi trường của container
Config - Cấu hình đầy đủ của container
Top - Tiến trình đang chạy bên trong container
Chọn một container ở thanh bên trái, khung bên phải lập tức chuyển sang hiển thị mọi thông tin sẵn có về container đó. Chuyển sang Images hoặc Volumes ở thanh bên trái, bạn sẽ thấy các chi tiết phù hợp cho các tài nguyên đó.
Điều hướng bằng bàn phím và phím tắt
Bạn điều hướng lazydocker hoàn toàn bằng bàn phím.
Nhấn các phím (1 - 6) để chuyển giữa các phần (Project, Containers, Images, v.v.). Nhấp vào các tab riêng lẻ để xoay vòng qua các tab ở khung bên phải.
Dưới đây là những phím tắt cốt lõi bạn nên nhớ:
x: Mở menu thao tác cho mục đã chọn
d: Xóa container hoặc image đã chọn
s: Khởi động một container đang dừng
r: Khởi động lại container
p: Tạm dừng/bỏ tạm dừng container
/: Tìm kiếm trong log
q: Thoát lazydocker
?: Hiển thị tất cả phím tắt sẵn có
Phía dưới màn hình hiển thị các phím tắt để tham khảo nhanh. Bạn có thể nhấn ? bất cứ lúc nào để xem danh sách đầy đủ - màn hình trợ giúp hiển thị lựa chọn khác nhau tùy phần bạn đang ở.
Các quy trình làm việc cốt lõi với Lazydocker
Những quy trình hằng ngày là nơi lazydocker giúp bạn tiết kiệm thời gian nhất. Thay vì nhớ lệnh và sao chép ID container, bạn chỉ cần điều hướng bằng phím mũi tên và kích hoạt thao tác bằng phím đơn.
Giám sát container và xem log
Tab Logs mở tự động khi bạn chọn một container từ thanh bên.
Log cuộn theo thời gian thực khi có mục mới. Bạn không cần chạy docker logs -f <container_id> - lazydocker mặc định theo dõi log. Dùng chuột hoặc PgUp/PgDn để cuộn qua log trước đó.
Chuyển sang tab Stats để xem mức sử dụng CPU và bộ nhớ. Các con số cập nhật vài giây một lần, hiển thị mức tiêu thụ hiện tại theo phần trăm và giá trị tuyệt đối.
Thống kê container Docker
Điều này thay thế ba lệnh CLI riêng biệt:
docker ps để liệt kê container
docker logs -f <container_id> để theo dõi log
docker stats <container_id> để giám sát tài nguyên
Với lazydocker, bạn thấy cả ba cùng lúc và chuyển giữa các container bằng phím mũi tên.
Quản lý vòng đời container
Nhấn x trên bất kỳ container nào để mở menu thao tác.
Menu thao tác của Lazydocker
Menu hiển thị các thao tác sẵn có: khởi động, dừng, khởi động lại, xóa, tạm dừng và hơn thế. Chọn thao tác bằng phím mũi tên và nhấn Enter để thực thi. Với thao tác hủy như xóa container, lazydocker sẽ yêu cầu bạn xác nhận trước khi làm.
Hộp thoại xác nhận
Bạn cũng có thể dùng phím tắt trực tiếp:
s - Khởi động một container đang dừng
r - Khởi động lại container đang chạy
p - Tạm dừng/bỏ tạm dừng container
d - Xóa container (có xác nhận)
Đi tới phần Images ở thanh bên để quản lý image. Nhấn x để xem các thao tác với image như xóa image không dùng. Lazydocker hiển thị chính xác những image sẽ bị xóa trước khi bạn xác nhận, giúp bạn không lỡ xóa nhầm.
Thao tác trên tab Images
Làm việc với các dịch vụ Docker Compose
Nếu bạn dùng Docker Compose, mỗi service xuất hiện như một container riêng trong phần Containers.
Ví dụ Docker Compose
Lazydocker không gom nhóm các service Compose hay hiển thị điều khiển ở cấp stack. Bạn quản lý từng service giống như container độc lập - khởi động, dừng, khởi động lại, xem log và kiểm tra thống kê riêng lẻ.
Lazydocker có chế độ xem Project để nhóm các container được tạo qua Docker Compose, nhưng hầu hết thao tác vẫn thực hiện ở cấp container riêng lẻ thay vì toàn bộ stack.
Tùy biến Lazydocker cho sử dụng hằng ngày
Lazydocker dùng tốt ngay từ đầu, nhưng tùy biến sẽ khiến nó trở thành của bạn.
Bạn có thể thay màu sắc, thêm lệnh tùy chỉnh, chỉnh phím tắt và tinh chỉnh bố cục giao diện. Những thay đổi này là tùy chọn, đừng coi là bắt buộc phải làm.
Những điều cơ bản về tệp cấu hình
Vị trí tệp cấu hình phụ thuộc vào hệ điều hành của bạn. Cách an toàn nhất để tìm và sửa là mở lazydocker, điều hướng đến bảng Project và nhấn o trên bàn phím. Thao tác này sẽ mở tệp config.yml trống.
Để minh họa, hãy dán đoạn sau vào:
gui:
theme:
activeBorderColor:
- cyan
- bold
inactiveBorderColor:
- white
selectedLineBgColor:
- black
selectedLineFgColor:
- yellow
optionsTextColor:
- blue
searchingActiveBorderColor:
- greenĐược hỗ trợ bởi
Lazydocker sẽ trông như thế này sau khi khởi động lại:
Tinh chỉnh kiểu dáng lazydocker
Thay đổi khá tinh tế, nhưng bạn có thể thấy màu chữ xanh dương thay vì xanh lá.
Những thứ người dùng hay tùy biến:
Bảng màu - Thay màu viền, màu chữ và màu nền để khớp với chủ đề terminal của bạn
Hộp thoại xác nhận - Tắt thông báo "bạn có chắc không?" cho các thao tác bạn chạy thường xuyên
Báo cáo - Tắt báo cáo mức sử dụng ẩn danh
Hành vi giao diện - Điều khiển việc tự động cập nhật của các panel, tốc độ cuộn log và phần nào xuất hiện mặc định
Danh sách đầy đủ các tùy chọn cấu hình có trong tài liệu lazydocker trên GitHub. Có rất nhiều thứ để tinh chỉnh, nhưng hãy giữ kỳ vọng hợp lý - đây vẫn là một ứng dụng TUI.
Lệnh và phím tắt tùy chỉnh
Bạn có thể thêm lệnh tùy chỉnh xuất hiện trong menu thao tác khi nhấn x.
Để làm vậy, hãy định nghĩa lệnh tùy chỉnh trong tệp cấu hình dưới phần customCommands. Ví dụ sau thêm lệnh vào container bằng bash:
Mẫu {{ .Container.ID }} sẽ được thay bằng ID của container được chọn khi bạn chạy lệnh. Bạn có thể dùng mẫu khác như {{ .Container.Name }} hoặc {{ .Service.Name }} tùy nhu cầu.
Lệnh tùy chỉnh hữu ích vì giúp tăng tốc các quy trình lặp lại. Nếu bạn thường xuyên chạy migration database, khởi động lại dịch vụ cụ thể với cờ tùy chỉnh, hoặc exec vào container để kiểm tra log, thêm chúng làm lệnh tùy chỉnh sẽ giúp bạn đỡ phải gõ tay mỗi lần.
Tình huống sử dụng Lazydocker và mẹo hay
Dưới đây là một số quy trình mà lazydocker thực sự tiết kiệm thời gian và ngăn lỗi trong công việc phát triển hằng ngày.
Dùng lazydocker trong phát triển nội bộ
Khởi chạy lazydocker khi bắt đầu phiên làm việc và để nó chạy trong một tab terminal.
Khi bạn khởi chạy môi trường phát triển bằng docker-compose up, chuyển sang lazydocker để giám sát mọi thứ. Bạn sẽ thấy container nào khởi động thành công, cái nào thất bại và lỗi gì xuất hiện trong log - tất cả mà không cần chạy lệnh riêng rẽ.
Hiệu quả đến từ việc không phải gõ lệnh:
Cần khởi động lại container sau khi đổi tệp cấu hình? Nhấn r thay vì gõ docker restart <container_id>
Muốn kiểm tra database có dùng quá nhiều bộ nhớ không? Chuyển sang tab Stats thay vì chạy docker stats
Cần xóa log để xem đầu ra mới rõ ràng hơn? Nhấn x và chọn "Clear logs" thay vì dừng rồi khởi động lại container
Quy trình này hiệu quả nhất khi bạn làm việc với nhiều container - web server, API, database, cache và có thể là hàng đợi thông điệp. Lazydocker cho bạn thấy tình trạng của toàn bộ stack cùng lúc.
Gỡ lỗi ứng dụng đa container
Khi có sự cố trong ứng dụng đa container, lazydocker giúp bạn lần theo vấn đề xuyên suốt các dịch vụ.
Hãy tưởng tượng API của bạn trả về lỗi 500. Bạn kiểm tra log container API trong lazydocker và thấy lỗi kết nối database. Chuyển sang container database - log cho thấy nó đang khởi động lại mỗi 30 giây. Bạn kiểm tra tab Stats và thấy nó chạm giới hạn bộ nhớ. Giờ bạn đã biết vấn đề: database cần nhiều tài nguyên hơn.
Việc này chỉ mất vài giây với lazydocker. Với CLI, bạn sẽ chạy docker ps để tìm ID container, docker logs cho từng dịch vụ, docker stats để kiểm tra tài nguyên, rồi ghép nối những gì xảy ra qua nhiều cửa sổ terminal.
Mấu chốt là chuyển đổi container thật nhanh. Dùng phím mũi tên để nhảy giữa các dịch vụ, và log sẽ cập nhật theo. Bạn có thể theo dõi luồng của một yêu cầu - từ web server nhận, đến API xử lý, tới database thực thi truy vấn - bằng cách xem log của từng container theo trình tự.
Thực hành tốt để sử dụng hiệu quả
Dọn dẹp thường xuyên. Nhấn x ở phần Images và chọn "Remove image" để xóa các image treo tích tụ trong quá trình phát triển. Làm tương tự với các container đã dừng mà bạn không còn cần nữa.
Tùy biến lazydocker theo quy trình của bạn. Nếu bạn thường xuyên exec vào container, hãy thêm lệnh tùy chỉnh cho việc đó. Nếu bạn luôn kiểm tra một số container trước, điều chỉnh cấu hình để làm nổi bật chúng. Khoản đầu tư thời gian sẽ xứng đáng khi bạn dùng lazydocker hằng ngày.
Học các phím tắt cho thao tác bạn lặp lại. Nhấn r để khởi động lại nhanh hơn mở menu thao tác mỗi lần. Nhấn / để tìm trong log nhanh hơn cuộn tay. Ban đầu có thể gượng gạo, nhưng sau một tuần sẽ thành phản xạ.
Giữ lazydocker chạy trong một tab terminal riêng. Đừng mở nó, kiểm tra chút rồi đóng - như vậy lãng phí lợi thế giám sát thời gian thực. Hãy coi nó như htop cho tài nguyên hệ thống: luôn sẵn sàng khi cần kiểm tra.
Những hạn chế của Lazydocker cần lưu ý
Lazydocker không giải quyết mọi vấn đề trong quy trình Docker, và có một vài hạn chế bạn nên biết trước.
Socket Docker và vấn đề quyền truy cập
Lazydocker cần truy cập socket của Docker để giao tiếp với Docker daemon.
Trên Linux, thường là tài khoản của bạn phải thuộc nhóm docker. Nếu gặp lỗi "permission denied" khi khởi động lazydocker, hãy chạy sudo usermod -aG docker $USER rồi đăng xuất và đăng nhập lại. Không có quyền với socket, lazydocker sẽ không thể khởi động.
Trên macOS và Windows, Docker Desktop xử lý quyền giúp bạn.
Nhưng nếu bạn chạy Docker trong VM hoặc thiết lập không tiêu chuẩn, bạn có thể cần trỏ lazydocker đến vị trí socket đúng bằng biến môi trường DOCKER_HOST.
Khác biệt đa nền tảng cũng quan trọng. Một số tính năng hoạt động khác trên Windows so với Linux và macOS - đặc biệt quanh đường dẫn tệp trong bind mount và cách container truy cập hệ thống tệp của host. Lazydocker hiển thị những gì Docker báo cáo, nên nếu Docker hành xử khác trên nền tảng của bạn, lazydocker sẽ phản ánh điều đó.
Hạn chế với ngữ cảnh Docker từ xa
Lazydocker hoạt động với host Docker từ xa, nhưng trải nghiệm không mượt như khi làm việc cục bộ.
Nếu bạn dùng Docker contexts để quản lý container trên máy chủ từ xa, lazydocker có thể kết nối. Nhưng độ trễ mạng khiến giao diện chậm hơn - log tải lâu, thống kê cập nhật trễ và điều hướng đôi lúc ì ạch. Công cụ này được thiết kế cho phát triển cục bộ, nơi phản hồi của Docker là tức thời.
Docker từ xa cũng đồng nghĩa bạn khó exec vào container hoặc chạy lệnh tương tác. Lazydocker cố gắng mở shell, nhưng kết nối thường hết hạn hoặc hoạt động khó lường tùy thiết lập mạng và cấu hình SSH của bạn.
Để quản lý container production trên host từ xa, hãy dùng CLI hoặc các công cụ dàn xếp chuyên dụng như bảng điều khiển ration tools like Kubernetes dashboards.
Kết luận
Lazydocker rất phù hợp cho nhà phát triển và nhóm nhỏ làm việc với Docker cục bộ. Nếu bạn chạy nhiều container trong quá trình phát triển, gỡ lỗi ứng dụng đa dịch vụ, hoặc đơn giản là không muốn gõ đi gõ lại cùng lệnh Docker, đây là công cụ đáng cân nhắc.
Chuyên gia Khoa học Dữ liệu Cấp cao, làm việc tại Croatia. Tác giả Công nghệ Hàng đầu với hơn 700 bài viết đã xuất bản, đạt trên 10 triệu lượt xem. Tác giả cuốn sách Tự động hóa Machine Learning với TPOT.
Câu hỏi thường gặp về Lazydocker
Làm thế nào để tùy chỉnh phím tắt trong lazydocker?⌄
Bạn có thể tùy chỉnh phím tắt bằng cách chỉnh tệp config.yml của lazydocker. Mở tệp này bằng cách khởi chạy lazydocker, điều hướng đến tab Project và nhấn o. Thêm phần keybinding và định nghĩa phím tắt tùy chỉnh cho các thao tác khác nhau. Cấu hình dùng định dạng YAML, và bạn có thể ghi đè phím mặc định hoặc thêm phím mới cho các lệnh tùy chỉnh bạn đã tạo.
Sự khác nhau chính giữa lazydocker và docui là gì?⌄
Cả hai đều là TUI cho Docker, nhưng lazydocker tập trung vào giám sát thời gian thực với truyền log trực tiếp và thống kê tài nguyên, trong khi docui nhấn mạnh các thao tác quản lý container. Lazydocker có cộng đồng phát triển sôi động hơn và hỗ trợ tốt hơn cho dự án Docker Compose. Docui có giao diện đơn giản hơn nhưng ít tùy biến hơn.
Lazydocker có thể quản lý dự án Docker Compose không?⌄
Có, lazydocker hoạt động với Docker Compose. Mỗi service trong tệp Compose của bạn xuất hiện như một container riêng trong phần Containers. Phần Project hiển thị tên các dự án Compose đang hoạt động, nhưng bạn quản lý từng service giống như container độc lập - thông qua phần Containers.
Làm sao cài đặt lazydocker trên máy chủ từ xa?⌄
Cài đặt lazydocker trên máy chủ từ xa bằng các cách giống cài cục bộ - Homebrew, trình quản lý gói hoặc tải trực tiếp tệp nhị phân. Sau khi cài, bạn có thể SSH vào máy chủ và chạy lazydocker tại đó, hoặc cấu hình Docker contexts trên máy cục bộ để kết nối lazydocker tới Docker daemon từ xa. Kết nối từ xa sẽ chậm hơn do độ trễ mạng.
Những vấn đề thường gặp khi dùng lazydocker là gì?⌄
Vấn đề phổ biến nhất là lỗi quyền với socket Docker trên Linux, bạn khắc phục bằng cách thêm tài khoản vào nhóm docker với sudo usermod -aG docker $USER. Vấn đề khác gồm hiệu năng chậm khi kết nối tới host Docker từ xa và container không phản hồi lệnh exec. Một số người dùng cũng gặp lỗi hiển thị nếu terminal không hỗ trợ màu sắc hoặc ký tự Unicode cần thiết.
Tìm hiểu về Docker và khám phá tầm quan trọng của nó trong bộ công cụ của chuyên gia dữ liệu. Tìm hiểu về Docker container, Docker image và nhiều nội dung khác.
Bạn có mệt mỏi vì phải gõ
docker ps,docker logsvàdocker statscả chục lần mỗi ngày chỉ để kiểm tra container đang làm gì không?Giả sử bạn đang quản lý năm container và có sự cố. Quy trình làm việc sẽ là: kiểm tra container đang chạy, grep để tìm đúng cái, sao chép ID, xem log, cuộn qua đầu ra, kiểm tra mức sử dụng CPU bằng một lệnh khác. Đến khi bạn hiểu chuyện gì đang xảy ra, bạn đã chạy cả tá lệnh và mất kha khá thời gian.
Điều này xảy ra vì CLI của Docker không được xây dựng cho việc giám sát liên tục và thao tác nhanh mà công việc phát triển thực tế đòi hỏi.
Lazydocker mang đến cho bạn một giao diện UI trên terminal hiển thị mọi thứ cùng lúc - container đang chạy, log, thống kê và tình trạng dịch vụ trên một màn hình. Bạn có thể khởi động, dừng, khởi động lại container chỉ với một phím, theo dõi log theo thời gian thực và phát hiện tiến trình ngốn tài nguyên mà không cần nhớ hàng loạt lệnh.
Trong bài viết này, tôi sẽ hướng dẫn bạn cài đặt lazydocker, cách điều hướng giao diện và sử dụng nó để tăng tốc các quy trình Docker hằng ngày.
Nếu bạn mới làm quen với Docker, hãy bắt đầu từ căn bản. Khóa học Giới thiệu về Docker của chúng tôi sẽ giúp bạn nắm vững nền tảng chỉ trong vài giờ.
Lazydocker là gì?
Lazydocker là một giao diện người dùng trên terminal (TUI) cung cấp cách trực quan để quản lý các container Docker mà không rời khỏi dòng lệnh.
Công cụ này hoạt động trên API của Docker, nghĩa là nó dùng các lệnh giống hệt bạn sẽ chạy thủ công - chỉ là được gói trong một giao diện hiển thị tất cả cùng lúc. Bạn nhận cập nhật theo thời gian thực về trạng thái container, log, thống kê và mức sử dụng tài nguyên trong một cửa sổ duy nhất.
Các TUI như lazydocker phổ biến cho quản lý container vì chúng cân bằng giữa ứng dụng GUI và CLI thuần. Bạn vẫn giữ được tốc độ và khả năng điều khiển bằng bàn phím của terminal, đồng thời bổ sung tổ chức trực quan giúp hệ thống phức tạp dễ đọc hơn. Không cần chuyển ngữ cảnh sang Docker Desktop, cũng không cần nhớ cờ cho mọi lệnh.
Vấn đề mà lazydocker giải quyết
CLI của Docker buộc bạn phải ghép thông tin từ nhiều lệnh khác nhau. Ví dụ:
Muốn xem container nào đang chạy?
docker psCần log?
docker logs <container_id>Kiểm tra CPU?
docker statsMỗi mẩu thông tin lại cần một lệnh riêng, và bạn liên tục sao chép ID container hoặc grep đầu ra để tìm thứ mình cần.
Lazydocker giải quyết bằng cách gom tất cả vào một nơi. Bạn thấy toàn bộ container, log của chúng, mức sử dụng tài nguyên và các thao tác sẵn có trên một màn hình. Bạn điều hướng bằng phím mũi tên. Bạn khởi động hoặc dừng container chỉ bằng một phím thay vì gõ cả lệnh đầy đủ.
Giao diện cũng giúp việc dùng Docker hằng ngày an toàn hơn. Khi sắp xóa container hoặc dọn dẹp image, lazydocker hiển thị chính xác những gì bạn sắp xóa trước khi xác nhận.
Cách cài đặt Lazydocker
Trước khi sử dụng lazydocker, bạn cần cài đặt nó trên hệ thống.
Quy trình cài đặt nhanh và hoạt động trên macOS, Linux và Windows. Bạn có vài lựa chọn tùy thiết lập và trình quản lý gói ưa thích.
Các phương thức cài đặt cho macOS, Linux và Windows
Dưới đây là những cách chính để cài đặt lazydocker:
Homebrew (macOS và Linux):
Đây là trình quản lý gói tôi dùng trên macOS - kết quả đầu ra trông như sau:
Cài đặt Lazydocker trên macOS
Scoop (Windows):
Chocolatey (Windows):
asdf-vm (trình quản lý phiên bản đa nền tảng):
Cài qua Go (nếu bạn đã cài Go):
Với cài đặt thủ công, bạn nên tải bản phát hành mới nhất cho nền tảng của mình từ trang phát hành trên GitHub, giải nén và di chuyển tệp nhị phân vào thư mục trong
PATH.Bạn cần cài và chạy Docker trước khi lazydocker hoạt động. Lazydocker kết nối với Docker daemon qua socket của Docker, nên nếu Docker không chạy, lazydocker sẽ không khởi động được.
Sau khi cài, hãy kiểm tra bằng cách chạy
lazydockertrong terminal - giao diện sẽ khởi chạy và kết nối đến Docker daemon của bạn.Khởi động Lazydocker
Bắt đầu với giao diện Lazydocker
Khi khởi chạy lazydocker, bạn sẽ thấy giao diện chia đôi hiển thị môi trường Docker theo thời gian thực.
Giao diện chia thành hai khu vực chính: thanh bên trái để điều hướng và khung bên phải hiển thị chi tiết về mục bạn chọn. Mọi thứ tự động cập nhật khi môi trường Docker thay đổi - không cần làm mới thủ công.
Giao diện Lazydocker
Bố cục giao diện Lazydocker
Thanh bên trái liệt kê năm phần bạn có thể điều hướng qua:
Container đang chạy hiển thị màu xanh lá; container đã thoát màu đỏ hoặc vàng, tùy mã thoát. Bạn sẽ thấy tên container và mã thoát cho container đã dừng.
Khung bên phải thay đổi dựa trên lựa chọn của bạn. Khi chọn một container, bạn sẽ thấy các tab phía trên:
Chọn một container ở thanh bên trái, khung bên phải lập tức chuyển sang hiển thị mọi thông tin sẵn có về container đó. Chuyển sang Images hoặc Volumes ở thanh bên trái, bạn sẽ thấy các chi tiết phù hợp cho các tài nguyên đó.
Điều hướng bằng bàn phím và phím tắt
Bạn điều hướng lazydocker hoàn toàn bằng bàn phím.
Nhấn các phím (1 - 6) để chuyển giữa các phần (Project, Containers, Images, v.v.). Nhấp vào các tab riêng lẻ để xoay vòng qua các tab ở khung bên phải.
Dưới đây là những phím tắt cốt lõi bạn nên nhớ:
x: Mở menu thao tác cho mục đã chọnd: Xóa container hoặc image đã chọns: Khởi động một container đang dừngr: Khởi động lại containerp: Tạm dừng/bỏ tạm dừng container/: Tìm kiếm trong logq: Thoát lazydocker?: Hiển thị tất cả phím tắt sẵn cóPhía dưới màn hình hiển thị các phím tắt để tham khảo nhanh. Bạn có thể nhấn
?bất cứ lúc nào để xem danh sách đầy đủ - màn hình trợ giúp hiển thị lựa chọn khác nhau tùy phần bạn đang ở.Các quy trình làm việc cốt lõi với Lazydocker
Những quy trình hằng ngày là nơi lazydocker giúp bạn tiết kiệm thời gian nhất. Thay vì nhớ lệnh và sao chép ID container, bạn chỉ cần điều hướng bằng phím mũi tên và kích hoạt thao tác bằng phím đơn.
Giám sát container và xem log
Tab Logs mở tự động khi bạn chọn một container từ thanh bên.
Log cuộn theo thời gian thực khi có mục mới. Bạn không cần chạy
docker logs -f <container_id>- lazydocker mặc định theo dõi log. Dùng chuột hoặcPgUp/PgDnđể cuộn qua log trước đó.Chuyển sang tab Stats để xem mức sử dụng CPU và bộ nhớ. Các con số cập nhật vài giây một lần, hiển thị mức tiêu thụ hiện tại theo phần trăm và giá trị tuyệt đối.
Thống kê container Docker
Điều này thay thế ba lệnh CLI riêng biệt:
docker psđể liệt kê containerdocker logs -f <container_id>để theo dõi logdocker stats <container_id>để giám sát tài nguyênVới lazydocker, bạn thấy cả ba cùng lúc và chuyển giữa các container bằng phím mũi tên.
Quản lý vòng đời container
Nhấn
xtrên bất kỳ container nào để mở menu thao tác.Menu thao tác của Lazydocker
Menu hiển thị các thao tác sẵn có: khởi động, dừng, khởi động lại, xóa, tạm dừng và hơn thế. Chọn thao tác bằng phím mũi tên và nhấn
Enterđể thực thi. Với thao tác hủy như xóa container, lazydocker sẽ yêu cầu bạn xác nhận trước khi làm.Hộp thoại xác nhận
Bạn cũng có thể dùng phím tắt trực tiếp:
s- Khởi động một container đang dừngr- Khởi động lại container đang chạyp- Tạm dừng/bỏ tạm dừng containerd- Xóa container (có xác nhận)Đi tới phần Images ở thanh bên để quản lý image. Nhấn x để xem các thao tác với image như xóa image không dùng. Lazydocker hiển thị chính xác những image sẽ bị xóa trước khi bạn xác nhận, giúp bạn không lỡ xóa nhầm.
Thao tác trên tab Images
Làm việc với các dịch vụ Docker Compose
Nếu bạn dùng Docker Compose, mỗi service xuất hiện như một container riêng trong phần Containers.
Ví dụ Docker Compose
Lazydocker không gom nhóm các service Compose hay hiển thị điều khiển ở cấp stack. Bạn quản lý từng service giống như container độc lập - khởi động, dừng, khởi động lại, xem log và kiểm tra thống kê riêng lẻ.
Lazydocker có chế độ xem Project để nhóm các container được tạo qua Docker Compose, nhưng hầu hết thao tác vẫn thực hiện ở cấp container riêng lẻ thay vì toàn bộ stack.
Tùy biến Lazydocker cho sử dụng hằng ngày
Lazydocker dùng tốt ngay từ đầu, nhưng tùy biến sẽ khiến nó trở thành của bạn.
Bạn có thể thay màu sắc, thêm lệnh tùy chỉnh, chỉnh phím tắt và tinh chỉnh bố cục giao diện. Những thay đổi này là tùy chọn, đừng coi là bắt buộc phải làm.
Những điều cơ bản về tệp cấu hình
Vị trí tệp cấu hình phụ thuộc vào hệ điều hành của bạn. Cách an toàn nhất để tìm và sửa là mở lazydocker, điều hướng đến bảng Project và nhấn
otrên bàn phím. Thao tác này sẽ mở tệpconfig.ymltrống.Để minh họa, hãy dán đoạn sau vào:
Lazydocker sẽ trông như thế này sau khi khởi động lại:
Tinh chỉnh kiểu dáng lazydocker
Thay đổi khá tinh tế, nhưng bạn có thể thấy màu chữ xanh dương thay vì xanh lá.
Những thứ người dùng hay tùy biến:
Danh sách đầy đủ các tùy chọn cấu hình có trong tài liệu lazydocker trên GitHub. Có rất nhiều thứ để tinh chỉnh, nhưng hãy giữ kỳ vọng hợp lý - đây vẫn là một ứng dụng TUI.
Lệnh và phím tắt tùy chỉnh
Bạn có thể thêm lệnh tùy chỉnh xuất hiện trong menu thao tác khi nhấn
x.Để làm vậy, hãy định nghĩa lệnh tùy chỉnh trong tệp cấu hình dưới phần
customCommands. Ví dụ sau thêm lệnh vào container bằng bash:Mẫu
{{ .Container.ID }}sẽ được thay bằng ID của container được chọn khi bạn chạy lệnh. Bạn có thể dùng mẫu khác như{{ .Container.Name }}hoặc{{ .Service.Name }}tùy nhu cầu.Tham khảo trang tài liệu trên GitHub để có bức tranh đầy đủ.
Lệnh tùy chỉnh hữu ích vì giúp tăng tốc các quy trình lặp lại. Nếu bạn thường xuyên chạy migration database, khởi động lại dịch vụ cụ thể với cờ tùy chỉnh, hoặc exec vào container để kiểm tra log, thêm chúng làm lệnh tùy chỉnh sẽ giúp bạn đỡ phải gõ tay mỗi lần.
Tình huống sử dụng Lazydocker và mẹo hay
Dưới đây là một số quy trình mà lazydocker thực sự tiết kiệm thời gian và ngăn lỗi trong công việc phát triển hằng ngày.
Dùng lazydocker trong phát triển nội bộ
Khởi chạy lazydocker khi bắt đầu phiên làm việc và để nó chạy trong một tab terminal.
Khi bạn khởi chạy môi trường phát triển bằng
docker-compose up, chuyển sang lazydocker để giám sát mọi thứ. Bạn sẽ thấy container nào khởi động thành công, cái nào thất bại và lỗi gì xuất hiện trong log - tất cả mà không cần chạy lệnh riêng rẽ.Hiệu quả đến từ việc không phải gõ lệnh:
Cần khởi động lại container sau khi đổi tệp cấu hình? Nhấn
rthay vì gõdocker restart <container_id>Muốn kiểm tra database có dùng quá nhiều bộ nhớ không? Chuyển sang tab Stats thay vì chạy
docker statsCần xóa log để xem đầu ra mới rõ ràng hơn? Nhấn
xvà chọn "Clear logs" thay vì dừng rồi khởi động lại containerQuy trình này hiệu quả nhất khi bạn làm việc với nhiều container - web server, API, database, cache và có thể là hàng đợi thông điệp. Lazydocker cho bạn thấy tình trạng của toàn bộ stack cùng lúc.
Gỡ lỗi ứng dụng đa container
Khi có sự cố trong ứng dụng đa container, lazydocker giúp bạn lần theo vấn đề xuyên suốt các dịch vụ.
Hãy tưởng tượng API của bạn trả về lỗi 500. Bạn kiểm tra log container API trong lazydocker và thấy lỗi kết nối database. Chuyển sang container database - log cho thấy nó đang khởi động lại mỗi 30 giây. Bạn kiểm tra tab Stats và thấy nó chạm giới hạn bộ nhớ. Giờ bạn đã biết vấn đề: database cần nhiều tài nguyên hơn.
Việc này chỉ mất vài giây với lazydocker. Với CLI, bạn sẽ chạy
docker psđể tìm ID container,docker logscho từng dịch vụ,docker statsđể kiểm tra tài nguyên, rồi ghép nối những gì xảy ra qua nhiều cửa sổ terminal.Mấu chốt là chuyển đổi container thật nhanh. Dùng phím mũi tên để nhảy giữa các dịch vụ, và log sẽ cập nhật theo. Bạn có thể theo dõi luồng của một yêu cầu - từ web server nhận, đến API xử lý, tới database thực thi truy vấn - bằng cách xem log của từng container theo trình tự.
Thực hành tốt để sử dụng hiệu quả
Dọn dẹp thường xuyên. Nhấn
xở phần Images và chọn "Remove image" để xóa các image treo tích tụ trong quá trình phát triển. Làm tương tự với các container đã dừng mà bạn không còn cần nữa.Tùy biến lazydocker theo quy trình của bạn. Nếu bạn thường xuyên exec vào container, hãy thêm lệnh tùy chỉnh cho việc đó. Nếu bạn luôn kiểm tra một số container trước, điều chỉnh cấu hình để làm nổi bật chúng. Khoản đầu tư thời gian sẽ xứng đáng khi bạn dùng lazydocker hằng ngày.
Học các phím tắt cho thao tác bạn lặp lại. Nhấn
rđể khởi động lại nhanh hơn mở menu thao tác mỗi lần. Nhấn/để tìm trong log nhanh hơn cuộn tay. Ban đầu có thể gượng gạo, nhưng sau một tuần sẽ thành phản xạ.Giữ lazydocker chạy trong một tab terminal riêng. Đừng mở nó, kiểm tra chút rồi đóng - như vậy lãng phí lợi thế giám sát thời gian thực. Hãy coi nó như
htopcho tài nguyên hệ thống: luôn sẵn sàng khi cần kiểm tra.Những hạn chế của Lazydocker cần lưu ý
Lazydocker không giải quyết mọi vấn đề trong quy trình Docker, và có một vài hạn chế bạn nên biết trước.
Socket Docker và vấn đề quyền truy cập
Lazydocker cần truy cập socket của Docker để giao tiếp với Docker daemon.
Trên Linux, thường là tài khoản của bạn phải thuộc nhóm
docker. Nếu gặp lỗi "permission denied" khi khởi động lazydocker, hãy chạysudo usermod -aG docker $USERrồi đăng xuất và đăng nhập lại. Không có quyền với socket, lazydocker sẽ không thể khởi động.Trên macOS và Windows, Docker Desktop xử lý quyền giúp bạn.
Nhưng nếu bạn chạy Docker trong VM hoặc thiết lập không tiêu chuẩn, bạn có thể cần trỏ lazydocker đến vị trí socket đúng bằng biến môi trường
DOCKER_HOST.Khác biệt đa nền tảng cũng quan trọng. Một số tính năng hoạt động khác trên Windows so với Linux và macOS - đặc biệt quanh đường dẫn tệp trong bind mount và cách container truy cập hệ thống tệp của host. Lazydocker hiển thị những gì Docker báo cáo, nên nếu Docker hành xử khác trên nền tảng của bạn, lazydocker sẽ phản ánh điều đó.
Hạn chế với ngữ cảnh Docker từ xa
Lazydocker hoạt động với host Docker từ xa, nhưng trải nghiệm không mượt như khi làm việc cục bộ.
Nếu bạn dùng Docker contexts để quản lý container trên máy chủ từ xa, lazydocker có thể kết nối. Nhưng độ trễ mạng khiến giao diện chậm hơn - log tải lâu, thống kê cập nhật trễ và điều hướng đôi lúc ì ạch. Công cụ này được thiết kế cho phát triển cục bộ, nơi phản hồi của Docker là tức thời.
Docker từ xa cũng đồng nghĩa bạn khó exec vào container hoặc chạy lệnh tương tác. Lazydocker cố gắng mở shell, nhưng kết nối thường hết hạn hoặc hoạt động khó lường tùy thiết lập mạng và cấu hình SSH của bạn.
Để quản lý container production trên host từ xa, hãy dùng CLI hoặc các công cụ dàn xếp chuyên dụng như bảng điều khiển ration tools like Kubernetes dashboards.
Kết luận
Lazydocker rất phù hợp cho nhà phát triển và nhóm nhỏ làm việc với Docker cục bộ. Nếu bạn chạy nhiều container trong quá trình phát triển, gỡ lỗi ứng dụng đa dịch vụ, hoặc đơn giản là không muốn gõ đi gõ lại cùng lệnh Docker, đây là công cụ đáng cân nhắc.
DevOps đang rất được săn đón vào năm 2026. Hãy xem Hướng dẫn trọn bộ chứng chỉ Docker (DCA) để chinh phục công việc đầu tiên của bạn.