Request for official docker image on dockerhub

  • Open
  • quality assurance status badge
Details
4 participants
  • Denis 'GNUtoo' Carikli
  • Eugen Stan
  • Jacob Hrbek
  • zimoun
Owner
unassigned
Submitted by
Jacob Hrbek
Severity
wishlist
J
J
Jacob Hrbek wrote on 30 Oct 2021 03:17
(name . bug-guix@gnu.org)(address . bug-guix@gnu.org)
BcagOlRUuEqqyQa0jYfzOq6EL_QfkxLo7kC1RkE87kMcJM_gTJc1i0RBlDyGRDCAxX-SxVYYBDu3DwT7bzdGCuaXmyqzd-GEYKHHKBoZo4M=@rixotstudio.cz
Please set up an official docker image on dockerhub (e.g. https://hub.docker.com/_/debian)i wanted to use docker to test GUIX configuration, but i can't define a dockerfile for it since `FROM scratch` can't fetch remote tarball without using `ADD` from a local file (which is not an option in the development environment) so i had to resort to a 3rd party alpine + guix (https://raw.githubusercontent.com/bmpvieira/Dockerfiles/master/guix/Dockerfile).

... also need an official docker image for WoodpeckerCI to handle CI/CD for my systems to avoid deploying broken configuration.

See howto on

The following should be sufficient:

$ wget
`$ docker import -` guix-binary-1.3.0.x86_64-linux.tar.xz

Or:

```dockerfile
FROM scratch
MAINTAINER Jon Doe Von GNU <user@domain.tld>

# Add the tarball from
ADD ./guix-binary-1.3.0.x86_64-linux.tar.xz /

ENTRYPOINT [ "/bin/sh" ]

```

-- Jacob "Kreyren" Hrbek

Sent with ProtonMail Secure Email.
Attachment: file
Attachment: signature.asc
Z
Z
zimoun wrote on 2 Nov 2021 11:26
control message for bug #51505
(address . control@debbugs.gnu.org)
86k0hqzwdv.fsf@gmail.com
severity 51505 wishlist
quit
E
E
Eugen Stan wrote on 9 Feb 2023 17:20
Request for official docker image on dockerhub
(address . 51505@debbugs.gnu.org)
b938307e-3ba7-307e-b465-89d90b2b333e@netdava.com
Hi,

I also think it would be a great idea to have guix running inside docker.

I tried to adopt guix as a package maanger in our CI/CD pipeline and I
could not run it inside a debian Docker image.

It seems guix has issues when running inside docker.
I found prior work here: https://github.com/metacall/guix.

Thanks,
--
Eugen Stan

+40770 941 271 / https://www.netdava.com
begin:vcard
fn:Eugen Stan
n:Stan;Eugen
email;internet:eugen.stan@netdava.com
tel;cell:+40720898747
x-mozilla-html:FALSE
url:https://www.netdava.com
version:2.1
end:vcard
D
D
Denis 'GNUtoo' Carikli wrote on 12 Feb 2023 17:57
(address . 51505@debbugs.gnu.org)
20230212175724.5815d1fb@primary_laptop
Hi,

If the idea is to be able to use a Guix docker image, as I understand
dockerhub is not strictly required.

For instance Fedora has its own docker registry[1] that works out of
the box with docker pull. More generally to download an image one can
just run: 'docker pull <repository>/<image/path>'. As I understand that
is usable in Dockerimages in the same way.

If I understood well, your issue is to integrate Guix docker images in
test environments that require you to use only a Dockerfile.

For publishing Guix docker images, Guix has several options that are not
mutually exclusive:
- It could use dockerhub. Note that the dockerhub registry/repository
itself is not FSDG compliant as it contains nonfree software like
Windows images.
- Guix could setup its own docker registry. There is a work in progress
patch for the docker registry (bug #60770) that works but it still
needs to un-vendor the dependencies. We also need to look how to use
it to deploy public registries (I've only tested it on localhost so
far, so without certificates and authentication). Also nobody
reviewed that patch yet and there seems to be a huge backlog with
patches review.
- Someone could setup a general FSDG compliant registry for various
docker images, and Guix could add official images there.
- Someone could also do some research to see if it's possible to
host images on a simple web server and make docker think it's a
registry. If that works, it could integrate well with
guix.gnu.org/en/download and guix.gnu.org/en/download/latest and the
Guix release infrastructure. Though one issue here is that docker
somehow expects yaml files on directory paths.

If Guix uses a third party registry, the third party will not have the
same policies and priorities than Guix. And in practice the third party
will be able to modify the images, as it hosts images that lack
signatures, and as far as I know there is also no way to automatically
verify some signatures before running the images.

PureOS also uses dockerhub, and as far as I know their docker images
are FSDG compliant. So if you need FSDG compliant images you could use
that and download and run Guix there.

Parabola and Trisquel also have what is needed to make docker images
but the images are not published anywhere as far as I know, so other
FSDG compliant distributions didn't really solve the issue either.

Alternatively Guix could just publish additional docker images in
guix.gnu.org/en/download and guix.gnu.org/en/download/latest but here I
guess that this doesn't work for your test environment.

As for the Debian images you mentioned they are somehow semi-official
according to Debian. Maybe it's because they are made by some Debian
maintainers and are not part of the regular Debian release process.

Personally I'd like to be able to use docker and more specifically
Dockerfiles in an FSDG compliant and trustworthy way, so I've started
looking a bit into it, for all FSDG compliant distributions in
general[2], but we have no drop-in solution that integrate well with
distributions release processes yet.

Also note that I'm new to docker so I might have missed some stuff, and
I'm also not a Guix maintainer so I can't take decisions for the Guix
project.

References:
-----------
[1]https://registry.fedoraproject.orgIt is probably not FSDG compliant.

Denis.
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAmPpGnQACgkQX138wUF3
4mM86g/+OH/rEh4mnEN5OcSZ0mZSVWTHJSoUrnuPPyC3L6sGvP9m/yNVb0GTen9q
YYeJ6cUcoq9zF27iSAIetr1LQBE7UmrVUVjcVKvXRU4tkA2ia1zXjVKuVSkqg6vA
XKVTGqrSEP0Y6gV/rtLvmRvSekrnbiAYDxJw08OezY6XLajVHjVgtZwr+01EqBwi
emFfQlm3PiSdmVpZrfGe5yareOLfPx3DJGolL9dpYjWNQJVT2jO5NDI0AJx7uCkl
vKA1QyIdsrUVmOy65FK6JEV2wstRg3q56oFlzcLqKvQVqFAhrIfUAIo816IfqBmZ
SavfAeoozMN7Tv7hh5ny2ad6FXtBhotH3u/nXu6KnVcntHVSHOOUCAGMJxWWvx4/
oLzN3DtZu+Muyr99BJEbnx5aeulHrAcJKDK1jaKgbLmnME7Q/jvuWYQeyvdWOGw5
R7GAQFg7WSW+x+NszqTrIl7aNQp2xnop3kmsFiTtlBpzZ+opM0xyhBMPj87IGpBc
hFQhRC/DE/hHNxGqoBefA18zm5xXFOF/FNr8LzLFF2EL1M9dmrNVlj8Eo4e01xY8
oEj6oWq21/A87qtjvIgm/lvUa0XqFb+nn3dcTOqODBXknU3nBiifvGOqnOeflrXX
RFEbXhA+0HBjKe7/B2DRmTsYJX/r5nmCKhCV8pDA9EdlsRxtlEk=
=kj7R
-----END PGP SIGNATURE-----


Z
Z
zimoun wrote on 13 Feb 2023 11:01
Re: bug#51505: Request for official docker image on dockerhub
86ilg57ujt.fsf@gmail.com
Hi,

On Thu, 09 Feb 2023 at 18:20, Eugen Stan <eugen.stan@netdava.com> wrote:

Toggle quote (5 lines)
> I also think it would be a great idea to have guix running inside docker.
>
> I tried to adopt guix as a package maanger in our CI/CD pipeline and I
> could not run it inside a debian Docker image.

Yeah, it could be helpful. In addition to Denis comment, I just would
like to point that you do not necessary need that Guix is running inside
Docker but you often only need some packages inside this Docker.

Other said, for deploying on non-Guix infrastructure, I often use Guix
as a Docker factory via “guix pack -f docker -m manifest.scm” where
manifest.scm only contains the packages required by my pipeline (or even
sometime only one pack for each node of the pipeline).

Similarly, I use “guix system image -t docker”, barely.

Cheers,
simon
?