使用unshare
或lxc-execute
我可以创建具有单独网络/安装/任何名称空间的环境。但是从外部启动程序并不是那么简单。通常使用网络和sshd,我也使用带有socat
执行shell的UNIX套接字在其上启动新进程。
是否已经有一个程序可以轻松地在 unshares 中启动应用程序?客户端程序应连接到 UNIX 套接字并将 (SCM_RIGHTS) stdin/stdout/stderr 发送到服务器。预计服务器将在 unshare 内启动并接收 argv、环境和 fds 并启动它们。
像这样的东西:
# unshare -nm /usr/local/bin/dived /var/run/myunshare.socket
# # (Non-abstract unix sockets are preserved across "unshare -m")
# dive /var/run/myunshare.socket ping 8.8.8.8
connect: Network is unreachable
自己创建程序来执行此操作:
https://github.com/vi/潜水
例子: