You are not logged in.
I can find two archlinux images on DockerHub that seem to be "official".
- A: https://hub.docker.com/r/archlinux/base ("docker.io/archlinux/base")
- B: https://hub.docker.com/_/archlinux/ ("docker.io/library/archlinux")
The images are clearly different:
$ podman image list | grep archlinux
docker.io/archlinux/base latest bc03ae1c8af6 14 hours ago 522 MB
docker.io/library/archlinux latest 9651b9e35f39 3 weeks ago 423 MBThe wiki article "Docker" indicates that "archlinux" is the official image (B). But then there's the Github repo archlinux/archlinux-docker which indicates it publishes to "archlinux/base" (A).
Even more confusing the Github repo adds pacman-conf.d-noextract.conf to reduce the number of files in the image, for example by not installing man pages.
If I look at the images though, then "docker.io/library/archlinux" (B) does not have man pages, while "docker.io/archlinux/base" (A) has them, which would rather indicate that the GitHub repo is publishing to B.
$ podman run --rm -it docker.io/library/archlinux ls /usr/share/man/
ls: cannot access '/usr/share/man/': No such file or directory$ podman run --rm -it docker.io/archlinux/base ls /usr/share/man/
cs da de fr hu id it ja ko man1 man2 man3 man4 man5 man6 man7 man8 pl pt_BR ru sv tr zh_CN zh_TWWhat is the difference between these two images? And where is the source code to build each of them?
Thanks for any insights!
Last edited by njam (2020-05-01 20:20:16)
Offline
https://github.com/docker-library/offic … Farchlinux
Docker provides an official-images program which we publish to, so you can docker pull archlinux. It's updated by submitting PRs to the official-images repository.
archlinux/base is directly maintained and uploaded by archlinux members, which means it gets updated on a different schedule (I think it's semi-automated?) but I'm not sure what the precise nuances are.
The NoExtract stuff should definitely apply to both, though. ![]()
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Hi!
Both are official in a sense. The library one is built by the Arch Linux infrastructure and pushed monthly (hopefully soon we'll move the cadence to weekly). The base one is as Eli pointed out, built on a semi-automated fashion and the release cadence is not as strict.
In my opinion, if you want to try out Arch in a container, go for the bigger archlinux/base image, as that doesn't have the NoExtract rules, which includes the manpages and whatnot. If you want to build off of an Arch image to make your own image, you'd probably want to use the library one.
Needless to say, if you run into issues with either we'd be more than happy to hear them and help you out with them.
Offline
In my opinion, if you want to try out Arch in a container, go for the bigger archlinux/base image, as that doesn't have the NoExtract rules, which includes the manpages and whatnot. If you want to build off of an Arch image to make your own image, you'd probably want to use the library one.
(We should fix that by making the current image a slim image and making another image based on it which reverts the NoExtract rules.)
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Thanks for the explanations!
I added a note to the "Docker" wiki page. Please correct me if it's wrong.
making the current image a slim image and making another image based on it which reverts the NoExtract rules.
Agreed. I would also appreciate an image with the "base" package installed. Usually I think image tags are used for that. So there could be a "latest-slim" and "latest-base" or similar.
Offline
The wiki article "Docker" indicates that "archlinux" is the official image (B). But then there's the Github repo archlinux/archlinux-docker which indicates it publishes to "archlinux/base" (A).
Actually I edited the ArchWiki article "docker".
In Issue #31 of Github repo archlinux/archlinux-docker, the member @shibumi said "https://hub.docker.com/_/archlinux is the official image. Please do not use archlinux/base."
Offline
@shibumi said "https://hub.docker.com/_/archlinux is the official image. Please do not use archlinux/base."
Oh. I sent an email to @shibumi to ask for clarification.
Offline
As eli has pointed out is the situation quite complex and this reminds me, that we should maybe get rid of the archlinux/base image.
The purpose of the archlinux organisation has just been to:
1. work as a blocker, so other users can't register "archlinux"
2. work as an organisation, where we could push docker image prototypes, as long as we can't have an official image.
The latter has changed now. There is an official image in the official docker namespace and I think people should use that one, because:
1. It's actively maintained (sorry, but I don't have that feeling with archlinux/base.. the releases are random + the maintainer of it doesn't answer on github issues)
2. This image is being build in an automated fashion
Last edited by Shibumi (2020-05-02 11:50:12)
Offline
@Shibumi thanks the explanation, I've removed "archlinux/base" from the wiki page again.
Offline