-
Notifications
You must be signed in to change notification settings - Fork 25.3k
Use a tiny base image for Docker builds #52519
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
64 commits
Select commit
Hold shift + click to select a range
22e78ce
Dump container logs on shell command failure
pugnascotia 1c31c7f
Throw original exception docker logs capture
pugnascotia 545150b
First attempt at building and using a tiny base image
pugnascotia 185f2fd
Build the baseimage in Docker
pugnascotia d6a5b9a
Merge remote-tracking branch 'elastic/master' into tiny-baseimage
jasontedor 032ecea
Add Dockerfile for statically building curl
pugnascotia 2056374
Merge curl building into tiny image build
pugnascotia 06165f8
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 5701d91
Tweaks
pugnascotia 807f05c
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia f47ba97
Integrate building a base image into the Docker build
pugnascotia 95db73f
Allow a platform to be specified
pugnascotia 7ca75f8
More improvements
pugnascotia c5d9aea
Build a static curl binary during the Docker build
pugnascotia b9f652f
Trying to get cross-arch Docker builds to work
pugnascotia 0cfa2cc
Don't provide curl, and suggest wget instead
pugnascotia 2f48178
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 8a54c4c
Revert something
pugnascotia fc3a6a0
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia f90d9d5
Tweaks
pugnascotia 91557a5
Add missing license and javadoc
pugnascotia 6b40ac5
Use wget instead of curl for docker-compose heathchecks
pugnascotia b67bb4e
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia c381560
Address review feedback
pugnascotia 426b422
Compress base filesystem tar with gzip
pugnascotia d7fcb2d
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia e54e83c
Fix typo that stopped :qa:remote-clusters from logging
pugnascotia d826cdf
Fix docker-compose healthchecks
pugnascotia 2f23482
docker-compose fixes
pugnascotia 56340da
Remove curl wrapper around wget
pugnascotia 678c361
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 18b0128
Set GCOS in /etc/password for Docker
pugnascotia 22d0035
Add a note about extending the shrunk Docker image
pugnascotia c8a82a7
Reintroduce a static curl build, only much faster
pugnascotia 37a0e78
Reuse the docker base filesystem for OSS
pugnascotia 02ee7f7
Docs and permissions fixes
pugnascotia 1762bcd
Upgrade tini and validate its checksum
pugnascotia d527a69
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 864e39e
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 2d16037
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 8b3f624
Address review feedback
pugnascotia f49b8b6
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 02ddf44
WIP - trying for a cross-arch Docker build
pugnascotia cf322b0
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 11ae944
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 00c3cb8
Perform all the build steps via the Dockerfile
pugnascotia 38557c2
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 66bec1b
Explicitly specify packages to install instead of hacky exclusion fiasco
pugnascotia a508421
Tweak comment
pugnascotia f9e9e6a
Add more into to ProcessInfo Javadoc
pugnascotia 0daa840
Use musl busybox for both archs
pugnascotia 7eedc3f
Update docs
pugnascotia ccc1209
Test tweak
pugnascotia 6535024
Follow Docker guidelines and put script contents into Dockerfile
pugnascotia c75980b
Trim dependencies further
pugnascotia 36836ab
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 7bcafbf
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia af035fe
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia efa85db
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 90a59fe
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 5b9e929
Tweaks
pugnascotia afd3ed2
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 4ea14d7
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia 64ee957
Merge remote-tracking branch 'upstream/master' into tiny-baseimage
pugnascotia File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about adding
pigz
?It's very useful for compressing large heap dumps. It's not a must-have from Cloud's perspective (we can fall back to
gzip
) but since we will be lacking package manager it'd make a lot of sense to add it here.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mieciu It's my assumption that heap dumps would be written to a volume that is mounted on the host (otherwise, they vanish when the container dies, which will happen when the process died because of an OOME), and thus could be processed on the host external to the container.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point - @mieciu what is Cloud doing with heapdumps exactly - compressing them in the container?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could move the compression out of the ES container and into the allocator container. Then pigz is always available (if we want it to be).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I'm happy to do something to smooth the way, though compressing heapdumps does feel like an orchestration concern, so ultimately I think the allocator should handle it in whatever way it deems fit.