Add "Containers and VMs" section to Handbook
Such a section should mention at least:
- [x] LXC - #448 (merged)
- [ ] Docker - #151
- [ ] Podman - #151 / #380
- [x] libvirt - #465 (merged)
- [ ] QEMU (Void-as-guest)
- [ ] VirtualBox (Void-as-guest)
As listed I will cover podman and docker. If desired, I would also like to add a section on kubernetes. Is that agreeable?
Mm, i tend to think that Kubernetes is more out-of-scope, given it's not just containerisation, but orchestration as well .... But i'd be interested to know what other Void team members think.
I thought that too. Let us see!
@void-linux/pkg-committers: Any thoughts on whether we should include a "VirtualBox" section, with the contents of the old wiki page?
@flexibeast why not?
@Piraty: Because it seems to me that there's a good chance it doesn't meet (my understanding of) requirements for inclusion in the Handbook.
The first part of the wiki page, about using Void as the host, is basically "Install this particular package". There's the mention of possibly needing to use xbps-reconfigure, but that applies to many packages that could be installed. There's the mention of possibly needing to install the relevant kernel headers, and i guess a case could be made for that being necessary information. The virtualbox-ose package provides the vboxwebsrv service, but i'm not sure that's any more crucial for us to document that particular service than any of the other hundreds of runit services Void provides, but which we don't currently document.
The second part of the wiki page is about running Void as a guest. This could be potentially useful information to provide, if we decide that we should also be documenting running Void in the context of other container/VM systems as well.
This all stands in contrast to documenting e.g. LXC, where the official "getting started" information gives information not relevant to Void (e.g. specifying the use of systemd-run).
There might be a similar issue around QEMU. If such a section is going to be more than "install qemu", then it's going to end up being a "getting started with QEMU" section, for which documentation is definitely available elsewhere.
i'll work with whatever the overall decision is, of course.
There's the mention of possibly needing to install the relevant kernel headers, and i guess a case could be made for that being necessary information.
That should be documented under dkms already, and isn't very useful, since the dkms package already depends on linux-headers.
Running Void Linux in "containers" doesn't need that much of explanation, at least not for LXC/LXD and neither for Docker. Using Void as guest in real virtualization like virtualBox or vmware should indeed deserve a section. I can provide both if desired (need to gasp the current state of doc first)
Okay, fair enough. A "Void as a guest OS" section under "Containers and VMs" sounds good, and if you're able to work on that content, that would be appreciated - thanks. :-)
Podman rootless requires the root / to be mounted with propagation = shared. One symptom is the error: WARN[0000] "/" is not a shared mount, this could cause issues or missing mounts with rootless containers. See this issue.
To do that, edit /etc/rc.local and add mount --make-rshared / to it, then reboot.
To see the current propagation state:
$ findmnt -o +PROPAGATION /
TARGET SOURCE FSTYPE OPTIONS PROPAGATION
/ /dev/sda2 ext4 rw,relatime shared
It should be "shared", not "private".