]> git.ipfire.org Git - thirdparty/qemu.git/commit
docker.py: add podman support
authorMarc-André Lureau <marcandre.lureau@redhat.com>
Fri, 12 Jul 2019 12:46:13 +0000 (16:46 +0400)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Thu, 22 Aug 2019 13:30:25 +0000 (17:30 +0400)
commit9459f754134bb786edf85ca9fc00f1805e67bd74
tree97b89a9ad8eff2835d4ddfff377d76b8284d09f4
parent2461d80e6c36dfefdcde1ec8735c317c31895c6b
docker.py: add podman support

Add a --engine option to select either docker, podman or auto.

Among other advantages, podman allows to run rootless & daemonless
containers, fortunately sharing compatible CLI with docker.

With current podman, we have to use a uidmap trick in order to be able
to rw-share the ccache directory with the container user.

With a user 1000, the default mapping is:                                                                                                                                                                         1000 (host) -> 0 (container).
So write access to /var/tmp/ccache ends will end with permission
denied error.

With "--uidmap 1000:0:1 --uidmap 0:1:1000", the mapping is:
1000 (host) -> 0 (container, 1st namespace) -> 1000 (container, 2nd namespace).
(the rest is mumbo jumbo to avoid holes in the range of UIDs)

A future podman version may have an option such as --userns-keep-uid.
Thanks to Debarshi Ray <rishi@redhat.com> for the help!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Acked-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
tests/docker/docker.py