lxc-unshare 手册页 - Linux 容器

lxc-unshare

章节: (1)
更新: 2021-06-03
索引 返回主要内容
 

名称

lxc-unshare - 在新的命名空间集中运行任务。  

概要

lxc-unshare {-s, --namespaces namespaces} [-u, --user user] [-H, --hostname hostname] [-i, --ifname ifname] [-d, --daemon] [-M, --remount] {command}  

描述

lxc-unshare 可以用来在一个克隆的命名空间集中运行任务。此命令主要用于测试目的。尽管它叫这个名字,但它总是使用 clone 而不是 unshare 来创建具有新命名空间的新任务。除了测试内核回归之外,这应该没有区别。  

选项

-s, --namespaces namespaces
指定要附加的命名空间,以管道分隔的列表形式,例如 NETWORK|IPC。允许的值为 MOUNTPIDUTSNAMEIPCUSERNETWORK。这允许您将进程的上下文更改为例如容器的网络命名空间,同时保留主机上的其他命名空间。(管道符号需要转义,例如 MOUNT\|PID 或加引号,例如 "MOUNT|PID"。)
-u, --user user
指定新任务要成为的用户的 ID。
-H, --hostname hostname
在新的容器中设置主机名。只有在设置 UTSNAME 命名空间时才允许。
-i, --ifname interfacename
将命名接口移动到容器中。只有在设置 NETWORK 命名空间时才允许。您可以多次指定此参数以将多个接口移动到容器中。
-d, --daemon
守护进程化(在退出之前不等待容器退出)
-M, --remount
在容器中挂载默认文件系统(/proc /dev/shm 和 /dev/mqueue)。只有在设置 MOUNT 命名空间时才允许。
 

示例

要生成一个具有自己 UTS(主机名)命名空间的新 shell,

          lxc-unshare -s UTSNAME /bin/bash
        

如果在该 shell 中更改主机名,更改不会反映在主机上。

要生成一个位于新的网络、pid 和挂载命名空间中的 shell,

          lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
        

生成的 shell 将具有 pid 1,并且看不到任何网络接口。在该 shell 中重新挂载 /proc 后,

          mount -t proc proc /proc
        

ps 输出将显示命名空间中没有其他进程。

要生成一个位于新的网络、pid、挂载和主机名命名空间中的 shell。

          lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H myhostname -i veth1 /bin/bash
        

生成的 shell 将具有 pid 1,并且可以看到两个网络接口(lo 和 veth1)。主机名为“myhostname”,并且 /proc 将已被重新挂载。ps 输出将显示命名空间中没有其他进程。  

参见

lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)  

作者

Daniel Lezcano <daniel.lezcano@free.fr>


 

索引

名称
概要
描述
选项
示例
参见
作者

此文档由 man2html 使用手册页创建。
时间: 04:45:10 GMT, 2024年11月03日