Home

Awesome

mini-docker-rust docker-github-action

Very small rust docker image.

This is an example project on how to build very small docker images for a rust project. The resulting image for a working hello world was 5.69MB in the case of Alpine 3.16. Alpine versions have changed in size with past releases (see below a table with historic sizes of the docker images). Using end-of-life Alpine/Rust releases is not advised (even if they might be slightly smaller). Checked sizes with docker system df -v

AlpineSize
alpine:3.198.22MB
alpine:3.188.22MB
alpine:3.177.95MB
alpine:3.165.69MB
alpine:3.155.74MB
alpine:3.145.73MB

This repo is trying to keep the docker overhead to a minimum without sacrificing performance or the usability implications of using FROM scratch. If you want to reduce the binary size further you might be interested in johnthagen/min-sized-rust.

See for yourself

You don't need to install anything besides docker. Build with docker build -t mini-docker-rust . and run with docker run mini-docker-rust.

Annotated docker file

See Dockerfile.