DNSCrypt / DNSCrypt/dnscrypt-server-docker

Considerations about a slimmer container base image than Ubuntu

Open
#119 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Shell
Stars
817
Forks
151
PR merge metrics
No merged PRs in 30d

Description

Hello! Currently Ubuntu is used as base image for creating this container:

https://github.com/DNSCrypt/dnscrypt-server-docker/blob/8ea0501db173c81a8873a75db545ad9830c060a7/Dockerfile#L1

The Ubuntu base image is pretty *fat*, meaning a larger attack surface, a bigger size (80MB vs for example Alpine with <10MB) as well as possibly slightly worse performance on resource-constrained systems like Raspberry Pi's (_untested claim_).
Have you considered using a slimmer base image like Alpine, [Wolfi](https://github.com/wolfi-dev/) or [Distroless](https://github.com/GoogleContainerTools/distroless) (or even UBI)?

You [switched from using Alpine to Ubuntu in 2019](https://github.com/DNSCrypt/dnscrypt-server-docker/commit/cbf9f7c4ccd7d7aa9c7c5ae16929bf5be2c9450a) because "Rust doesn't work well with musl-libc" (quote from the linked commit message). These issues seem to be largely resolved by now, there is also an [official up-to-date Rust package in the Alpine package repository](https://pkgs.alpinelinux.org/package/edge/main/aarch64/rust).
The other mentioned base images like Wolfi do not use `musl` altogether.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.