Làm việc với Docker đôi khi có thể gây khó khăn, nhưng có một số công cụ giúp việc đó trở nên dễ dàng hơn rất nhiều. Bài viết này sẽ giới thiệu 5 công cụ Docker được yêu thích nhất, giúp bạn tiết kiệm thời gian cho dù bạn đang debug container, quản lý image hay triển khai ứng dụng.
Lazy Docker: Giao diện terminal cho Docker
Lazy Docker là một giao diện người dùng terminal cho Docker và Docker Compose, giúp việc quản lý container trở nên dễ dàng. Thay vì phải nhớ và gõ các lệnh Docker dài, bạn sẽ có một giao diện tương tác, nơi mọi thứ chỉ cần một lần nhấn phím.
Một số tính năng chính bao gồm:
- Xem trạng thái, nhật ký và số liệu của container trong nháy mắt;
- Khởi lại/xóa/xây dựng lại container chỉ bằng một lần nhấn phím;
- Theo dõi việc sử dụng tài nguyên bằng đồ thị ASCII;
- Dễ dàng gắn vào shell của container;
- Loại bỏ các container, image và volume không sử dụng;
- Hỗ trợ chuột đầy đủ để nhấp và cuộn.
Bắt đầu cực kỳ đơn giản. Trên máy Mac, bạn có thể cài đặt bằng:
brew install lazydocker
Sau đó, bạn chỉ cần chạy lệnh lazydocker container để khởi động nó:
docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v /yourpath:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker
Đừng quên thay /yourpath bằng đường dẫn đến thư mục home của bạn.
Bonus: Bạn bè của bạn sẽ nghĩ bạn là một cao thủ thực sự khi bạn chỉ sử dụng terminal chứ không phải docker desktop.
Sliplane: Nền tảng triển khai Docker đơn giản
Sliplane là một nền tảng hosting giúp việc triển khai container Docker trở nên cực kỳ đơn giản. Mặc dù nó không hẳn là một "công cụ" theo nghĩa truyền thống, nhưng nó đã trở thành giải pháp lý tưởng cho nhiều công ty triển khai container Docker (tiết lộ đầy đủ: Tôi là đồng sáng lập!).
Các tính năng chính khiến nó trở nên tuyệt vời cho việc triển khai Docker:
- Triển khai push-to-deploy từ GitHub hoặc Docker Hub;
- Triển khai không downtime;
- Kiểm tra sức khỏe và thông báo tự động;
- Ghi nhật ký và giám sát tích hợp;
- Mô hình trả tiền theo máy chủ (host không giới hạn container trên một máy chủ).
Điều tôi đặc biệt thích là bạn không cần bất kỳ kiến thức DevOps nào - nếu ứng dụng của bạn hoạt động trong một container cục bộ, nó sẽ hoạt động trong môi trường production. Chỉ cần kết nối repo GitHub của bạn hoặc trỏ đến một image Docker Hub, và bạn đã sẵn sàng.
Giá cả cũng khá đơn giản - bạn trả tiền cho máy chủ (bắt đầu từ 7€/tháng) và có thể host bao nhiêu container tùy thích trên đó. Hoàn hảo khi bạn có nhiều dự án nhỏ hoặc cần môi trường development.
Quá trình triển khai diễn ra như sau:
Bạn có thể dùng thử miễn phí trong 2 ngày để xem nó có phù hợp với nhu cầu của bạn không!
Dive: Khám phá và phân tích Docker image
Dive là một công cụ đáng kinh ngạc để khám phá và phân tích image Docker theo từng lớp. Nó cho bạn thấy chính xác những file nào đã thay đổi trong mỗi lớp và giúp xác định cách thu nhỏ image của bạn bằng cách làm nổi bật các file trùng lặp và không gian lãng phí. Giao diện người dùng tương tác cho phép bạn duyệt toàn bộ cây hệ thống file trong khi chỉ ra những gì đã được thêm, sửa đổi hoặc xóa bỏ trong mỗi lớp. Bắt đầu rất đơn giản - chỉ cần chạy: dive <your-image-tag>
.
Bạn cũng có thể tạo một alias và chạy nó trong chính container Docker, vì vậy bạn có thể sử dụng nó mà không cần phải cài đặt nó trên máy của mình
alias dive="docker run -ti --rm -v /var/run/docker.sock:/var/run/docker.sock wagoodman/dive"
dive <your-image-tag>
Khá tuyệt, phải không? Nó giúp bạn hiểu image của mình và tiết kiệm dung lượng đĩa, ai mà không thích điều đó chứ?
Orbstack: Thay thế Docker Desktop trên macOS
Orbstack là một giải pháp thay thế Docker Desktop mà tôi đã sử dụng được một thời gian. Theo tôi, điểm mạnh chính là nó là một ứng dụng native cho macOS và không dựa vào Docker Machine để tạo máy ảo, nghĩa là nó nhanh hơn rất nhiều và ít tốn tài nguyên hơn. Nó vẫn còn rất mới, vì vậy có một số điểm chưa hoàn thiện, nhưng tôi nghĩ nó đáng để thử. Tôi nghĩ nó chỉ được hỗ trợ trên macOS tại thời điểm này, vì vậy đó có thể là một vấn đề đối với một số bạn.
Watchtower: Tự động cập nhật Docker image
Đây là một công cụ đơn giản sẽ theo dõi image Docker của bạn và tự động cập nhật chúng lên phiên bản mới nhất. Nó cực kỳ dễ thiết lập và hoạt động rất tốt. Điều này rất hữu ích cho homelab của bạn hoặc tương tự, không quá nhiều cho production.
Bạn có thể thử bằng lệnh sau:
docker run -d \ --name watchtower \ -e REPO_USER=username \ -e REPO_PASS=password \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower container_to_watch --debug
Hãy thử xem, bạn sẽ không hối tiếc đâu! Hy vọng các bạn sẽ thấy thích thú với những đề xuất này!