-
Notifications
You must be signed in to change notification settings - Fork 600
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
add workaround for non-static ctr
binary in docker 20.10.8
#323
Conversation
@tianon PTAL. It's probably a bit of a dirty workaround 🙈 🙈 🙈 , but it "works", and unblocks us until containerd/containerd#5824 is resolved somehow |
SGTM |
6743e82
to
5f67167
Compare
ctr
binaryctr
binary
Packages are up on download.docker.com, so updated the URLs; this should be ready for review @tianon |
When compiling containerd's ctr on Go 1.15 or up, the produced binary is not fully static, causing it to fail on Alpine: ldd /usr/local/bin/ctr /lib64/ld-linux-x86-64.so.2 (0x7f1970417000) This issue is tracked in containerd/containerd#5824. Until it's fixed, adding `libc6-compat` as a workaround: https://pkgs.alpinelinux.org/package/edge/main/x86_64/libc6-compat Note that there's an alternative `gcompat` package, which provides similar functionality (and also resolves the issue), but unlike `libc6-compat`, that package is a `community` package, is larger, and has more dependencies: https://pkgs.alpinelinux.org/package/edge/community/x86_64/gcompat Signed-off-by: Sebastiaan van Stijn <[email protected]>
5f67167
to
75e26ed
Compare
I wonder if this (separately, not a blocker) warrants adding something that invokes |
ctr
binaryctr
binary in docker 20.10.8
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.
Looks OK for a temporary fix, thanks 😄
@@ -2,6 +2,10 @@ FROM alpine:{{ .alpine }} | |||
|
|||
RUN apk add --no-cache \ | |||
ca-certificates \ | |||
{{ if ["19.03", "19.03-rc", "20.10-rc"] | index(env.version) | not then ( -}} |
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.
Very minor nit that this should probably be env.version == "20.10"
, but it's harmless and the same either way, and hopefully temporary 😄
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.
oh! wrote this based on the existing example I found. didn't try other options, but yes, makes sense.
Changes: - docker-library/docker@0e65005: Merge pull request docker-library/docker#323 from thaJeztah/docker_20.10.8 - docker-library/docker@75e26ed: Add libc6-compat as workaround for non-static ctr binary - docker-library/docker@83e4de3: Update 20.10 to 20.10.8
Add libc6-compat as workaround for non-static ctr binary
When compiling containerd's ctr on Go 1.15 or up, the produced binary
is not fully static, causing it to fail on Alpine:
This issue is tracked in containerd/containerd#5824.
Until it's fixed, adding
libc6-compat
as a workaround:https://pkgs.alpinelinux.org/package/edge/main/x86_64/libc6-compat
Note that there's an alternative
gcompat
package, which provides similarfunctionality (and also resolves the issue), but unlike
libc6-compat
, thatpackage is a
community
package, is larger, and has more dependencies:https://pkgs.alpinelinux.org/package/edge/community/x86_64/gcompat
WIP: test docker 20.10.8 (from staging)
Update the Dockerfile with Docker 20.10.8, which is currently on download-stage.docker.com