diff --git a/pkg/chrootarchive/chroot_linux.go b/pkg/chrootarchive/chroot_linux.go index 3325329978..f9d7fed633 100644 --- a/pkg/chrootarchive/chroot_linux.go +++ b/pkg/chrootarchive/chroot_linux.go @@ -30,9 +30,11 @@ func chroot(path string) (err error) { if err := mount.MakeRPrivate("/"); err != nil { return err } - // ensure path is a mountpoint - if err := mount.MakePrivate(path); err != nil { - return err + + if mounted, _ := mount.Mounted(path); !mounted { + if err := mount.Mount(path, path, "bind", "rbind,rw"); err != nil { + return realChroot(path) + } } // setup oldRoot for pivot_root