-
Notifications
You must be signed in to change notification settings - Fork 213
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
Proposal: Adopting Docker images as distribution/installation method #592
Comments
Sorry, I have exactly zero available bandwidth at the moment, I'll get back to you later. @jprjr, if you're around, can you please take a look and say if it's reasonable and doesn't require too much work? |
No worries. Like I said, I am happy to provide all the necessary Dockerfiles, workflows, docs etc. if you are interested. |
Seems similar to this proposal #386 (comment) (dockerfile can be seen here: https://github.com/crazy-max/docker-alpine-s6/blob/master/Dockerfile) |
@flokoe Okay, sorry for the delay. So, I have a few comments about the benefits of that approach:
More generally, I said initially that I didn't want to be in charge of the s6-overlay project: I maintain it because it's useful to people, and because it's currently the most popular use of s6. I am okay with the development side of things, and we had an agreement with @jprjr that he would handle the ops side of things. But it doesn't seem like he wants to be involved any more; so if it's going to be just me, I'm going to touch the ops side as little as possible. Containers are something I'm involved with because it's where my software is used; but I don't want them to consume my time, so if it's not broken, I'm not going to fix it. So, yeah, if you're willing to provide a proof of concept with Dockerfiles and GitHub actions that I could play with to see how it would go, sure, why not; but expect to have to provide a lot of patient explanations, and opinions and point of views that are probably rather different from your usual container software provider. Sorry for being so conservative and reluctant about this; but managing my priorities is absolutely necessary. |
@crazy-max It doesn't sound similar to your project; basically, what you're doing is rewriting the build system in the Dockerfile language, which I don't see the benefit of at all. Whereas if I understand correctly, @flokoe seems to want to keep the existing build, just provide different end outputs via Github actions voodoo, to integrate with various user workflows. |
I would agree with @flokoe. But only a single container image is all that we need, e.g. We can distribute the tarballs using tags. Example:
All that we need after that for ARG S6_OVERLAY_VERSION=v3.2.0.0
FROM containers/s6-overlay:${S6_OVERLAY_VERSION} AS s6-overlay
#FROM containers/s6-overlay:${S6_OVERLAY_VERSION}-symlinks AS s6-overlay-symlinks
#FROM containers/s6-overlay:${S6_OVERLAY_VERSION}-syslogd AS s6-overlay-syslogd
FROM alpine:latest
COPY --link --from=s6-overlay / /
#COPY --link --from=s6-overlay-symlinks / /
#COPY --link --from=s6-overlay-syslogd / /
ENTRYPOINT [ "/init" ] This is what I've made and use personally socheatsok78/s6-overlay-distribution, previously socheatsok78/s6-overlay-installer but I found that it is inconvenience to download and install from GitHub every time a build happens. |
Hi there,
I would like to propose adopting a new distribution/installation method in addition to the existing one via the
ADD
directive and making the content of the tarballs also available as Docker images so that we can use theCOPY
directive instead. This would have the following benefits:COPY
directives from images can be cached.--link
option for theCOPY
directive allows rebasing, which improves build time and caching.I see two possibilities: one image per tarball, or a single image containing the contents of the tarballs in corresponding subdirectories.
It could look something like this:
File permissions are preserved and directories are merged. Any conflicts are resolved in favor of the content being added.
I would love to hear your thoughts on this. If you are interested, I could submit a PR with the necessary Dockerfiles and GitHub Actions workflows to automate the builds.
The text was updated successfully, but these errors were encountered: