Hello,
I talked with colleagues, and the idea of sharing the docker socket from a VM to the XO VM would not be doable in the near future on XCP-ng 8.3 (ask @teddyastie if you want details, I remember only the conclusion )
So I took a shortcut - XO <--> Docker - and pushed a quick experimental branch on github, docker-experimental, https://github.com/vatesfr/xen-orchestra/tree/docker-experimental
Warning, this is experimental. ( NOT PRODUCTION ready )
Key points:
A container tab on each VM
XO can connect to the VM via SSH, and reach the docker.sock
SSH private key and passphrase are stored by XO in the same way as XCP-ng hosts credentials
XO6 web UI and REST API
No modification needed in XCP-ng dom0
No modification needed in the VMs with Docker
Any docker root or rootless is expected to work (I didn't test rootless yet)
It should also work with a Podman socket (I didn't test yet)
Again, it is experimental
DO NOT RUN IN PRODUCTION
Here are a few screenshots:
Containers tab when connected to the docker socket
/home/nathanael/src/xen-orchestra/docker-prs/proof/6/shots-real/01-connected.png[image: 01-connected.jpeg]
Same with side panel
/home/nathanael/src/xen-orchestra/docker-prs/proof/6/shots-real/02-side-panel-logs.png[image: 02-side-panel-logs.jpeg]
Actions possible, stop/start, pause, restart, delete container:
/home/nathanael/src/xen-orchestra/docker-prs/proof/6/shots-real/03-actions-menu.png[image: 03-actions-menu.jpeg]
Containers tab when no yet connected, with a form to fill:
/home/nathanael/src/xen-orchestra/docker-prs/proof/6/shots-real/06-not-configured.png[image: 06-not-configured.jpeg]
To use this, follow official installation from sources but use this experimental branch instead of master.
Again, this is still experimental, comes with no official support.
We'd be interested to here what you think of this