diff options
author | Valentin Rothberg <vrothberg@redhat.com> | 2022-05-18 11:34:13 +0200 |
---|---|---|
committer | Valentin Rothberg <vrothberg@redhat.com> | 2022-05-23 13:59:05 +0200 |
commit | 633d5f1f8b8844d6e2fb3e2593768360c889ed76 (patch) | |
tree | d4af0146efdb6a9444414aa7e36d650cafa864d4 /libpod | |
parent | 769e777656e62172ccdd1b98989627d6dae57a96 (diff) | |
download | podman-633d5f1f8b8844d6e2fb3e2593768360c889ed76.tar.gz podman-633d5f1f8b8844d6e2fb3e2593768360c889ed76.tar.bz2 podman-633d5f1f8b8844d6e2fb3e2593768360c889ed76.zip |
fix --init with /dev bind mount
The init binary until now has been bind-mounted to /dev/init which
breaks when bind-mounting to /dev. Instead mount the init to
/run/podman-init. The reasoning for using /run is that it is already
used for other runtime data such as secrets.
Fixes: #14251
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/define/container.go | 2 | ||||
-rw-r--r-- | libpod/diff.go | 23 |
2 files changed, 14 insertions, 11 deletions
diff --git a/libpod/define/container.go b/libpod/define/container.go index bb44a6a4a..ba939578f 100644 --- a/libpod/define/container.go +++ b/libpod/define/container.go @@ -35,4 +35,6 @@ const ( // OneShotInitContainer is a container that only runs as init once // and is then deleted. OneShotInitContainer = "once" + // ContainerInitPath is the default path of the mounted container init. + ContainerInitPath = "/run/podman-init" ) diff --git a/libpod/diff.go b/libpod/diff.go index 794b26b48..86fa063ec 100644 --- a/libpod/diff.go +++ b/libpod/diff.go @@ -8,17 +8,18 @@ import ( ) var initInodes = map[string]bool{ - "/dev": true, - "/etc/hostname": true, - "/etc/hosts": true, - "/etc/resolv.conf": true, - "/proc": true, - "/run": true, - "/run/notify": true, - "/run/.containerenv": true, - "/run/secrets": true, - "/sys": true, - "/etc/mtab": true, + "/dev": true, + "/etc/hostname": true, + "/etc/hosts": true, + "/etc/resolv.conf": true, + "/proc": true, + "/run": true, + "/run/notify": true, + "/run/.containerenv": true, + "/run/secrets": true, + define.ContainerInitPath: true, + "/sys": true, + "/etc/mtab": true, } // GetDiff returns the differences between the two images, layers, or containers |