void-docs icon indicating copy to clipboard operation
void-docs copied to clipboard

Add "Containers and VMs" section to Handbook

Open flexibeast opened this issue 5 years ago • 10 comments

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)

flexibeast avatar Jun 23 '20 03:06 flexibeast

As listed I will cover podman and docker. If desired, I would also like to add a section on kubernetes. Is that agreeable?

ghost avatar Jun 30 '20 05:06 ghost

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.

flexibeast avatar Jun 30 '20 05:06 flexibeast

I thought that too. Let us see!

ghost avatar Jun 30 '20 05:06 ghost

@void-linux/pkg-committers: Any thoughts on whether we should include a "VirtualBox" section, with the contents of the old wiki page?

flexibeast avatar Aug 12 '20 05:08 flexibeast

@flexibeast why not?

Piraty avatar Aug 13 '20 09:08 Piraty

@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.

flexibeast avatar Aug 13 '20 15:08 flexibeast

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.

ericonr avatar Aug 13 '20 15:08 ericonr

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)

Piraty avatar Aug 13 '20 19:08 Piraty

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. :-)

flexibeast avatar Aug 14 '20 06:08 flexibeast

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".

o-alquimista avatar Jan 13 '24 16:01 o-alquimista