kpcyrd / mini-docker-rust

Very small rust docker image

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Alpine Size
alpine:3.19 8.22MB
alpine:3.18 8.22MB
alpine:3.17 7.95MB
alpine:3.16 5.69MB
alpine:3.15 5.74MB
alpine:3.14 5.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.

About

Very small rust docker image

License:MIT License


Languages

Language:Dockerfile 94.3%Language:Rust 5.7%