mirror of
https://github.com/spr-networks/super.git
synced 2026-04-25 21:05:55 +03:00
[GH-ISSUE #37] Unify apt packages across container images #2
Labels
No labels
blocked
bug
documentation
enhancement
fixed
fixed ✅
hardening
implemented
installer
multicast
p1
p2
pending
podman
pull-request
security
testing
v1
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/super#2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rgov on GitHub (Jul 28, 2022).
Original GitHub issue: https://github.com/spr-networks/super/issues/37
Many of the Dockerfiles declare very similar sets of apt packages:
This is going to take up a lot of space and increase build time generating many different layers that are similar to one another. Consider factoring out the common group and installing them all at once as the first step.
There is also an official note on best practices when using
apt-get. The recommendation is to make all package installations follow this pattern (with alphabetized packages for better diffs):You may end up running multiple installations in one Dockerfile (e.g., common packages vs container-specific packages).
@rgov commented on GitHub (Jul 28, 2022):
If you need a set of packages in both the builder and the final image, you can avoid repetition like so:
@rgov commented on GitHub (Jul 28, 2022):
Quick glance at the
apt-get updatelayers suggests each one takes 35.2 MB * 11 images = 387.2 MB of unnecessary list files.Also as the link above shows, if
apt-get updateis on its own layer, the package lists will get cached separately and this will be an annoyance to invalidate if you ever want to pull newer packages.@lts-rad commented on GitHub (Jul 29, 2022):
will take a look at this much later. my bigger question is if this actually saves us considerable space, for the headaches it might cause in the future as a result of trying to keep everything in sync.
clang, hostapd, wireguard-tools we do not want across all containers. hostapd in particular could interfere with the wifid container which builds its own.
@lts-rad commented on GitHub (Feb 9, 2023):
This has been merged