(perf): Convert Python base image to python:3.11-slim #19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current Dockerfile assumes the base Debain Python image (
python:3.11
) which produces a final image that is approximately 1.0 GB in size.Since GitHub Actions has to build this image at runtime, I propose we use the Slim (
python:3.11-slim
) image instead. This change produces a final Docker image that is approximately 231 MB in size.We could get further size reductions if we were to use the
python:3.11-alpine
image. However, I believe that sticking to a a Debian-based image prevents compatibility issues when using Python libraries with C extensions. I am open to using thealpine
Docker image if you are confident that the current dependencies play nice with the Alpine Linux platform. I was able to successfully build and test an Alpine Docker image.