SlimToolKit

SlimToolKit

Miễn phí 26/01/2026

Một trong những điều khiến mọi người khó chịu nhất với Docker image là kích thước của chúng quá lớn. Mặc dù đã cố gắng cấu trúc cẩn thận các Dockerfile và những lệnh cụ thể được sử dụng để quản lý Docker, họ vẫn không thể tránh khỏi kích thước đó. Bên cạnh việc lãng phí dung lượng ổ đĩa, quá trình build mất rất nhiều thời gian, và mọi người phải dành rất nhiều thời gian để tìm kiếm các dependency không cần thiết. Nhiều người đã chấp nhận điều này là không thể tránh khỏi cho đến khi họ thử SlimToolKit.

Ban đầu, một số người khá hoài nghi vì lời hứa của công cụ này nghe có vẻ quá tốt để có thể là sự thật. Nó sẽ thu nhỏ các container của bạn một cách đáng kể nhưng không động đến Dockerfile hoặc làm xáo trộn quy trình làm việc. Tuy nhiên, những gì xảy ra sau khi sử dụng công cụ này là một khám phá đáng kinh ngạc. Bạn sẽ nhận thấy những lợi ích ngay lập tức và học được một số bài học về tối ưu hóa container.

SlimToolKit là gì?

SlimToolKit là một công cụ để đơn giản và tối ưu hóa trải nghiệm phát triển của bạn với container. Nó thu nhỏ các Docker container mà không thay đổi Dockerfile.

Sự phình to của Docker image

Gánh nặng vô hình mà các container của bạn mang theo

Kích thước Docker container trên Linux Mint
Kích thước Docker container trên Linux Mint

Một số người vừa thiết lập một bản cài đặt Linux Mint mới và để thử nghiệm một vài công cụ, họ đã cài đặt Docker và một vài máy chủ. Chỉ trong vòng hai ngày, sau khi kiểm tra kích thước container của mình, họ đã bị sốc khi thấy chúng lớn đến mức nào đối với một bài kiểm tra đơn giản. Nextcloud chiếm 1,46GB, và media server cục bộ, Jellyfin, chiếm 1,55GB. Ngay cả Nginx, vốn cực kỳ nhẹ, cũng chiếm 161MB dung lượng. Điều này là không thể tránh khỏi do image cơ sở và các công cụ phát triển, shell và cache còn sót lại.

Mẹo: Giao diện người dùng terminal như Lazydocker có thể cung cấp khả năng hiển thị thông tin về các Docker container, service, nhật ký và tài nguyên.

Tuy nhiên, sau khi chạy lệnh docker history, rõ ràng vấn đề không phải là các Dockerfile. Các lớp không cần thiết trong quá trình chạy đã làm phình to image. Chúng bao gồm các thư viện và gói được cài đặt chỉ trong trường hợp chúng cần thiết. Lần đầu tiên, nhiều người nhận ra kích thước container khó nắm bắt đến mức nào. Bạn không thể cho rằng bất kỳ image nào là gọn nhẹ mà không kiểm tra nội dung của nó trước.

Rõ ràng là tại sao SlimToolKit có thể giải quyết vấn đề. Nó có thể kiểm tra và phân tích các container một cách động, quan sát những gì chúng sử dụng và những gì container không sử dụng.

Khám phá SlimToolKit

Cách thức hoạt động và những gì nó có thể làm

Trước đây, để tối ưu hóa các container, mọi người đã thử những bản build nhiều giai đoạn, dọn dẹp gói và các script tùy chỉnh; tất cả đều quá dễ bị lỗi. SlimToolKit thì khác. Nó đã khắc phục vấn đề bằng cách theo dõi container trong khi nó đang chạy, theo dõi các file mà nó sử dụng hoặc truy cập và build một image chỉ bao gồm những file đó.

Nó cũng rất minh bạch. Lần đầu tiên chạy lệnh slim build, CLI tạm dừng ở một số điểm nhất định, sau đó nhắc người dùng nhập dữ liệu mới. Mọi thứ nó phân tích, bao gồm cả thư viện và các file tạm thời, đều rõ ràng để quan sát. Đây là một cách tiếp cận cho phép bạn kiểm soát và khác với những công cụ tối ưu hóa khác.

Nó đã loại bỏ các shell, file nhị phân và gói không được sử dụng. Điều này không chỉ giảm kích thước image mà còn cải thiện bảo mật bằng cách giảm bề mặt tấn công.

Cài đặt và chạy SlimToolKit trên Linux

Việc cài đặt SlimToolKit khá đơn giản. Đầu tiên, bạn cần xác minh rằng Docker đã được cài đặt và đang chạy, sau đó tải xuống image SlimToolKit. Bạn có thể làm theo các bước sau:

1. Chạy lệnh dưới đây để kiểm tra xem bạn đã cài đặt Docker chưa; bạn sẽ nhận được kết quả tương tự như Docker version 24.0.0, build xyz.

docker --version

2. Nếu Docker chưa chạy, bạn có thể chạy các lệnh dưới đây để khởi động nó:

sudo systemctl start docker
sudo systemctl enable docker

3. Tải Docker image chính thức cho SlimToolKit bằng cách chạy lệnh này:

docker pull dslim/slim

SlimToolKit chạy bên trong một container, vì vậy không cần cài đặt gì thêm. Lần thử nghiệm đầu tiên là chạy SlimToolKit trên container Nginx, có dung lượng khoảng 161MB. Để bắt đầu quá trình, hãy chạy lệnh sau:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock dslim/slim build --target nginx:latest --tag nginx-slim:latest

Trong suốt quá trình, bạn có thể thấy SlimToolKit kiểm tra image. Tại một thời điểm, nó đã tạo ra một container tạm thời và cũng dò tìm các HTTP endpoint. Cuối cùng, kết quả ghi nhận mức giảm 9,58 lần, từ 161MB xuống còn 16,8MB. Điều này giúp chúng ta tự tin tiếp tục thu nhỏ các container khác, và kết quả cũng ấn tượng không kém: Netdata giảm từ 1,24GB xuống còn 295MB, và Uptime Kuma giảm từ 448MB xuống còn 135MB.

31 👨 4

Tải SlimToolKit:

Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
    ❖ Hệ thống