-
Notifications
You must be signed in to change notification settings - Fork 513
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
Tag request: alpine with git #250
Comments
We are very reluctant in adding more variations to images since it increases the build times and can delay releases and base image induced rebuilds. For the I still see this as a duplicate of #119, #140, #153, #157, #166, #198, #209, #230, #239, #241, #251. |
What's the objection to adding this with |
Of course it's possible to install it with The reason to require In the mean time I'll look at better ways to cache containers locally in my Estafette CI build system so I can use the Debian version instead; now it's just too big and slow to pull in on every build. Given the fact that there's so many duplicate issues regarding this topic it seems there's popular demand for it, wouldn't you say? |
One use case is unit tests. Helps to have a standard image that will run quick. |
Ok, let me try to reframe this a little bit. I think our image description should probably link directly to golang/go#19938 -- to summarize that thread's current state, Alpine is not actually an officially supported target for the maintainers of Go (it's non-trivial enough to get the test suite passing on Alpine that we're coming up on two years since it was first attempted in earnest). The reason this is relevant here is that if we add more Alpine-related variants, I'm afraid it will lend more to the appearance of Alpine being something not only supported, but potentially even recommended by the Go team, which is definitely not accurate (and if we had a clean way to de-emphasize our current Alpine variants until that issue is resolved and upstream officially supports it, I would definitely be considering it). As discussed above, adding FROM golang:1.11-alpine3.8
RUN apk add --no-cache git (On my machine here, the entire If the time or bandwidth of running that one-liner is a significant contributor to build time, the However, I feel it is worth pointing out that the above downloads ~9MB (from a CDN that's pretty decent, in my experience, with a single HTTP request) vs the resulting compressed layer size, which also comes out to ~9MB (which would come from the Docker Registry, which is more complex than the simple file-based CDN and thus has potentially more failure modes and several HTTP requests). IMO, not a very compelling argument for either the time it takes or the bandwidth it requires vs having users do this (and in my own experience, it installs faster than the layer would even download/extract, given the amount of complexities involved in that whole API through Docker end-to-end vs the simple download+verify+extract of So I'm not seeing a strong justification for either the added maintenance burden and appearance of support of an additional variant (which will amount to the two-line |
Although there's been a number of issues filed on git missing in the alpine images, it would be nice to have a dedicated alpine-git tag that does include git. For runtime the regular alpine image should indeed be kept as small as possible without git installed. But we use the alpine images to build our code and particularly with the new modules system it's very useful to have git installed.
The official docker images have similar tagged image with git preinstalled, see https://hub.docker.com/r/library/docker/tags/.
What do you think? Should be a relatively simple addition from your side, right?
The text was updated successfully, but these errors were encountered: