build(docker): drop build-essential
from Docker image
#25170
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.
SUMMARY
This PR practically drops the apt package
build-essential
(gcc
etc.) from the Docker image, by removing it in the same step it got installed. This package is needed solely to installpython-ldap
andmysqlclient
(fromrequirements/development.txt
).Important: Users building on top of
apache/superset
would have to install these tools themselves potentially breaking their Dockerfile depending on their usage.Also removed because not needed:rm /var/[log,tmp]/*
: Both dirs are empty.rm /tmp/*
: Basically empty except for a single file from upstream Python Docker image. Removing this file wouldn't save image size.apt-get clean
: runs automatically for debian-based docker images.(already merged)
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
This results in a smaller image:
1.29 GB
down to1.04 GB
382 MB
down to311 MB
TESTING INSTRUCTIONS
docker build . -t test
docker-compose.yml
based on that image and check if all services are runningADDITIONAL INFORMATION