Hi Danny! On Tue, Sep 22, 2020 at 11:51:05AM +0200, Danny Milosavljevic wrote: > Now, Heads has most of its stuff on CI servers that use Docker for a lot of > things.
It would be very interesting to have a Docker registry for a number of (complicated) Guix packages. We have bioinformatics packages living in channels such as http://git.genenetwork.org/guix-bioinformatics/guix-bioinformatics. Bonface built a GeneNetwork Docker image for CI. I would like to see Docker images for vgtools, gemma, sambamba and other products we are (co)developing. A Guix Docker container could be the starting point for live installs on highly divergent systems (including an HPC cluster we are building). > While I was researching gitlab, I came across a feature where they have their > own Docker container registry on there. Apparently, the Docker CLI can fetch > from whatever server the user wants! > > $ docker run [options] registry.gitlab.com/group/project/image [arguments] > > That got me thinking, we could easily also release Guix on something like > that. Is our HTTP webserver enough to have a Docker registry, without > installing extra stuff? > > $ docker run localhost/foo > Unable to find image 'localhost/foo:latest' locally > docker: Error response from daemon: Get "http://localhost/v2/": dial tcp > 127.0.0.1:80: connect: connection refused. > > Aha! > > Do we want to do it? I say YES :). If we have a way to create these containers we can distribute them through http IPFS. We'll help write a nice discovery web interface which initially can be a simple web page. I don't think we need Docker containers for every package. But if there is a demand for a specific tool it can be very helpful to distribute software that way. In fact, one software I am writing depends on a host of programming languages including Python, Racket and Rust. A Guix Docker container is by far the simplest solution to distribute the software. And Guix containers are tiny - which is really nice. Pj.