2024-10-16T07:35:58.034543Z DEBUG chariot::cmd::runc: Try to mout /proc by
2024-10-16T07:35:58.034595Z ERROR chariot::cmd::runc: Failed to run container: EPERM: Operation not permitted
Когда я выставляю proc и dev после Pivot_root, он сообщает о проблеме с разрешениями. Этот процесс является дочерним процессом, созданным клоном. [code] mount( None::, "/", None::, MsFlags::empty() .union(MsFlags::MS_REC) .union(MsFlags::MS_PRIVATE), None::, )?;
// Ensure that 'new_root' is a mount point. mount( Some(rootfs.as_str()), rootfs.as_str(), None::, MsFlags::MS_BIND, None::, )?;
pivot_root(rootfs.as_str(), rootfs.as_str())?;
tracing::debug!("Detach the rootfs from parent system."); mount( None::, "/", None::, MsFlags::MS_SLAVE | MsFlags::MS_REC, None::, )?; umount2("/", MntFlags::MNT_DETACH)?;
tracing::debug!("Try to mout /proc by ", getuid()); mount( Some("proc"), "/proc", Some("proc"), MsFlags::empty() .union(MsFlags::MS_NOEXEC) .union(MsFlags::MS_NODEV) .union(MsFlags::MS_NOSUID), None::, )?; tracing::debug!("Try to mout /dev by ", getuid()); mount( Some("tmpfs"), "/dev", Some("tmpfs"), MsFlags::empty() .union(MsFlags::MS_STRICTATIME) .union(MsFlags::MS_NOSUID), Some("mode=0755"), )?;
[/code] Вот результат примера: [code]2024-10-16T07:35:58.034543Z DEBUG chariot::cmd::runc: Try to mout /proc by 2024-10-16T07:35:58.034595Z ERROR chariot::cmd::runc: Failed to run container: EPERM: Operation not permitted [/code] Ссылка: https://github.com/openbce/chariot/blob/main/src/core/cmd/runc/mod.rs#L86