问题标签 [systemd-nspawn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
containers - 如何使用 systemd-nspawn 容器(如 VirtualBox)设置嵌套的 Wayland 桌面环境
这是基于 stackoverflow 规则/鼓励分享我对标题的 hack 的问答
https://stackoverflow.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/
https://stackoverflow.com/help/self-answer
我可以回答我自己的问题吗?
是的!Stack Exchange 一直明确鼓励用户回答自己的问题。如果您有一个您已经知道答案的问题,并且您想公开记录该知识以便其他人(包括您自己)以后可以找到它,那么在 Stack Exchange 网站上提出并回答您自己的问题是完全可以的.
原始回购是
linux - 如何将 systemd-nspawn 与 --network-veth 和 --port(-n 和 -p)一起使用?
我跑;
在容器中,httpd 有效。但是,从主机访问,它不会访问。此外,以下工作没有网络选项;
我需要使用什么选项-n
,--network-veth
和-p
, --port
?
linux - 可以在 systemd 容器上运行 concourse CI 吗?
我正在尝试在 systemd-nspawn 容器上运行 concourse CI,但我不能。我一直在寻找这个问题,但没有发现任何有用的东西。我将尝试解释我的工作:
- 首先,我制作了一个 .raw 文件,其中包含我需要的所有内容(使用 mkosi)。
我使用这个 .raw 文件(sudo systemd-nspawn -bi concourse.raw --capability=all)启动了一个 systemd 容器。concourse web 和 worker 服务启动时没有问题。我登录到 127.0.0.1:8080 并添加我的第一个管道(HelloWorld)。然后,当我运行 HelloWorld 管道时,我收到此错误:
runc create:退出状态1:container_linux.go:264:启动容器进程导致“process_linux.go:261:为进程应用cgroup配置导致\”mkdir /sys/fs/cgroup/cpuset/8638cb95-bbbc-4719-4509- 5a1789fb100a: 只读文件系统\""
这是此错误的 journalctl 日志:concourse_worker 日志
我添加 -bind 选项并重试(sudo systemd-nspawn -bi concourse.raw --capability=all --bind=/sys/fs/cgroup)。我认为添加 --bind 选项我修复了第一个错误,因为现在 concourse 的容器能够提取 docker 图像,但我得到了其他错误:
runc create:退出状态1:container_linux.go:264:启动容器进程导致“process_linux.go:339:容器初始化导致\”rootfs_linux.go:69:创建设备节点导致\\“没有这样的文件或目录\\” \""
这是此错误的 journalctl 日志:concourse_worker log 2
我的系统:
$ 猫 /etc/问题
Ubuntu 16.04.2 LTS \n \l
$ unname -a
Linux nikoPC 4.4.0-47-generic #68-Ubuntu SMP 2016 年 10 月 26 日星期三 19:39:52 UTC x86_64 x86_64 x86_64 GNU/Linux
$ systemctl --版本
systemd 229 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN
大厅容器:
猫 /etc/问题
Ubuntu Artful Aardvark(开发分支)\n \l
systemctl --版本
systemd 234 +PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN 默认层次结构=混合
我不知道如何解决这个错误。可以在 systemd 容器上运行 concourse CI 吗?
谢谢。
bash - systemd-nspawn 发送带有引导标志的命令
在我的 Debian 开发机器中,我设置了一个 systemd-nspawn 环境来定制嵌入式 systemd。
我可以通过以下方式从脚本向该容器发送命令:
现在我需要做同样的事情,但使用-b
(boot) 标志启动容器。仍然可以在脚本中执行此操作吗?
现在我手动执行以下操作:
- 使用 -b 标志启动 systemd-nspawn
- 登录
- 发出命令
- 停
linux - 如何使用 systemd-nspawn PXE 引导容器?
我已将我的网络环境配置为 PXE 引导 VM。我想知道是否可以 PXE 引导 systemd-nspawn 容器
ansible - 如何通过其 shell 命令在 nspawn 容器上运行 ansible?
我有几个systemd-nspawn
容器,我想通过它们连接ansible
并在每个容器上运行一系列脚本。
传统方式是使用 SSH 连接,我在其他环境中这样做。在这种情况下,Ansible playbook 将在未安装 SSH 的同一主机上运行的容器上运行。
是否可以配置 playbook 以便它使用shell
容器的命令来运行其模块?
如果不是,我将在它们上安装 SSH,或者使用salt
它将从容器中获取它的调用。
systemd-nspawn - systemd-nspawn /dev/dri/card0 权限
我正在努力/dev/dri/card0
从 nspawn 容器访问但没有成功。甚至可能吗?
/etc/systemd/system/systemd-nspawn@centos7.service.d/override.conf
:
/etc/systemd/nspawn/centos7.nspawn
:
在机器中我有:
有没有办法让它工作?
ssh - 如何在远程 systemd-nspawn 容器上使用 ansible?
我在本地机器“A”上使用 ansible,操作远程主机“B”。现在我在远程主机上有容器“C1”、“C2”等。我也可以使用 ansible 来操作它们吗?即没有在每个容器中安装 sshd?
当然,我可以在每个容器中安装 sshd 并转发各自的端口。只是我想避免这种情况。
顺便提一句。所有涉及的机器都运行 Debian 9 (stable/stretch)。
蒂亚!
dhcp - 在 LAN 上使用 machinectl 作为容器管理器
我有各种容器,我想在主机上启动,并让它们立即从我的 DHCP 服务器获取 IP,就像我的裸机设备(电话、笔记本电脑、NAS 等)一样
我希望能够随意销毁这些容器,而不会在我的主机系统上留下很多垃圾(网桥、VLANS 等)。
我可以在该工作流程中使用哪些简单spinup.sh
的命令?teardown.sh
或者,也许一切都可以整齐地包含在 中/etc/systemd/nspawn/container-x.nspawn
?
注意:我专门寻找非 docker解决方案。仅依赖于 systemd 的东西
docker - Overlayfs 卷到 docker 容器
我有一组目录,我想覆盖挂载到容器中:
我可以在主机上创建一个 overlayfs 挂载,/opt/{a,b,c}
并将其作为卷挂载到/usr/local
容器中,但随后/usr/local/cuda
将无法在容器中访问。
我可以通过systemd-nspawn
以下方式直接实现这一点:
这使得所有文件都可以作为/usr/local
容器中的合并挂载使用,并将更改写入/opt/c
主机上。
是否可以使用 docker 轻松实现我想要的?