A look at slimtoolkit/examples: 195 stars on GitHub, written primarily in Shell. Minified application examples with different languages and stacks for DockerSlim
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
docker-slim has been used with Node.js, Python, Ruby, Java, Go, Rust, Elixir and PHP (some app types) running on Ubuntu, Debian, CentOS and Alpine Linux.
Active areas of interest:
Complex Python, Ruby and PHP examples with the popular application servers and Nginx or Apache.
Python, Node.js, Ruby and PHP applications packaged in CentOS-based images.
Examples with fat container images with multiple components/applications/services.
Examples with the most popular process supervisors / init tools.
Current Minification Examples
Node.js application images:
from ubuntu:14.04 - 432MB => 14MB (minified by 30.85X)
from debian:jessie - 406MB => 25.1MB (minified by 16.21X)
from node:alpine - 66.7MB => 34.7MB (minified by 1.92X)
from node:distroless - 72.7MB => 39.7MB (minified by 1.83X)
Python application images:
from ubuntu:14.04 - 438MB => 16.8MB (minified by 25.99X)
from python:2.7-alpine - 84.3MB => 23.1MB (minified by 3.65X)
from python:2.7.15 - 916MB => 27.5MB (minified by 33.29X)
from centos:7 - 647MB => 23MB (minified by 28.57X)
from centos/python-27-centos7 - 700MB => 24MB (minified by 29.01X)
from python2.7:distroless - 60.7MB => 18.3MB (minified by 3.32X)
Ruby application images:
from ubuntu:14.04 - 433MB => 13.8MB (minified by 31.31X)
from ruby:2.2-alpine - 319MB => 27MB (minified by 11.88X)
from ruby:2.5.3 - 978MB => 30MB (minified by 32.74X)
Go application images:
from golang:latest - 700MB => 1.56MB (minified by 448.76X)
from ubuntu:14.04 - 531MB => 1.87MB (minified by 284.10X)
from golang:alpine - 258MB => 1.56MB (minified by 165.61X)
from centos:7 - 615MB => 1.87MB (minified by 329.14X)
Rust application images:
from rust:1.31 - 2GB => 14MB (minified by 147.16X)
Java application images:
from ubuntu:14.04 - 743.6 MB => 100.3 MB
PHP application images:
from php:7.0-cli - 368MB => 26.6MB (minified by 13.85X)
Haskell application images:
(Scotty service) from haskell:8 - 2.09GB => 16.6MB (minified by 125.32X)
(Scotty service) from haskell:7 - 1.5GB => 21MB (minified by 71X)
Elixir application images:
(Phoenix service) from elixir:1.6 - 1.1GB => 37MB (minified by 29.25X)
.NET application images:
from mcr.microsoft.com/dotnet/runtime-deps:5.0-alpine-amd64 - 31MB => 28MB (minified by 1.11X)
from mcr.microsoft.com/dotnet/runtime-deps:5.0-buster-slim-amd64 - 132MB => 32MB (minified by 4.11X)
from mcr.microsoft.com/dotnet/runtime-deps:5.0-focal-amd64 - 140MB => 32MB (minified by 4.31X)
How to use examples
While DockerSlim is capable of more, at the moment, the majority of the examples illustrate
the image minification procedure using docker-slim build command in its various modes.
A typical example has a README file describing its purpose and basic usage.
Normally, there is also a Makefile with the default target. So, running
make or make default from inside of the example folder would execute the example
for you end-to-end outputting all the used commands on the way.
Most frequently used make targets:
# All example types
make # run example (semi-automatic)
make test-e2e # run the acceptance test suite
make clean # remove all artifacts created by this example
# 'CLI application' example type
make fat-build # build the "fat" version of the image
make fat-run-interactive # run the CLI app using the "fat" image
make slim-build # turn the "fat" image into a "slim" one
make slim-run-interactive # run the CLI app using the "slim" image
make slim-build-from-dockerfile # build the "slim" version of the image using the "fat" Dockerfile
# 'Web Service' example type
make fat-build # build the "fat" version of the image
make fat-run # run the web service using the "fat" image
make fat-run-seccomp # run the "fat" image using generated seccomp profile
make fat-validate # send a request to the running web service
make fat-stop # stop the running web service
make slim-build # turn the "fat" image into a "slim" one
make slim-run # run the web service using the "slim" image
make slim-run-seccomp # run the "slim" image using generated seccomp profile
make slim-validate # send a request to the running web service
make slim-stop # stop the running web service
make slim-build-from-dockerfile # build the "slim" version of the image using the "fat" Dockerfile
make debug-sidecar # run a debug sidecar container with an interactive shell
# 'Docker Compose' example type
make fat-build # build the "fat" version of the image
make fat-run # run the compose file using the "fat" image
make fat-validate # send a request to the running web service
make fat-stop # stop the running web service
make slim-build-compose # turn the "fat" image into a "slim" one using docker-compose file
make slim-run # run the compose file using the "slim" image
make slim-validate # send a request to the running web service
make slim-stop # stop the running web service
How active is development on slimtoolkit/examples?
The most recent commit recorded on slimtoolkit/examples was 2.7 years ago, based on the GitHub push timestamp. The repository has 24 forks — one of the better signals of community interest.
How many stars does slimtoolkit/examples have?
slimtoolkit/examples has 195 GitHub stars — refresh the page for the live number, or check github.com/slimtoolkit/examples. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is slimtoolkit/examples written in?
slimtoolkit/examples is written primarily in Shell. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is slimtoolkit/examples associated with?
GitHub's repository topics for slimtoolkit/examples: "hacktoberfest". TopGit's editorial category is open-source.
Where do I read more about slimtoolkit/examples?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/slimtoolkit/examples is the definitive source.
Read full README in the tab above.
Is examples worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of examples.