-
Notifications
You must be signed in to change notification settings - Fork 5
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
pure Guix system in a docker image #1
Comments
Sure, it's a great idea, I had it written in the TODO list:
It will improve the docker image size and probably we can pack it on a single layer. Unfortunately I haven't had time to do it yet. PRs are welcome. |
Also I am going to add some documentation as there is people interested on it. |
Looking forward to it. Would be super useful to give it a try! |
Check it out: https://github.com/metacall/guix/blob/master/README.md Probably the ease of usage can be improved, I am using it in order to build https://github.com/metacall/core through this project: https://github.com/metacall/distributable , and that's why I haven't improved it too much. But this can change if more people gets interested on it. |
FYI, I was able to bootstrap a pure guix docker image. From
From the host machine:
In |
Is there any way to run guix pack against current snapshot of guix? I mean, on your example you packaged bash and coreutils, but I would like to package also the fixed version of guix ( Line 69 in 5600f16
Does the resulting image has an user when running? Or are the build users defined ( Line 52 in 5600f16
|
I'd say yes, by setting right channel, see https://guix.gnu.org/manual/en/html_node/Channels.html |
I don't think so, there is no file |
If it cannot be run, then it is not suitable for CI/CD which is the main objective of this project. I think a good solution may be to use build stages to generate a target (from scratch) with only the Guix dependencies (including Guix itself, among the users and entry point script for allowing to run the daemon). For example: FROM alpine AS builder
# ...
FROM scratch AS guix
COPY /gnu /entry-point.sh /etc / Later on if we want to make it look like a docker image generated by Guix (with a single target), maybe we can find a way for removing the builder target. |
If it cannot be run
Yes, it can be run, I tried it :)
|
Awesome, feel free to implement (and PR) it if you want, or I will try to implement it whenever I have free time. |
For more reference: |
Thanks a lot for the Guix Docker image! It is super useful to experiment with Guix.
Instead of having Alpine + Guix, we could have a pure Guix system as a docker image.
Have you ever seen this?
Thanks! --Martin
The text was updated successfully, but these errors were encountered: