如果你想要运行一个发行版容器,而又不想被 docker 一类的重量级方案打扰,现在有一个新的简单方案了。
nspawn.org 目前提供了 Arch、CentOS、Debian、Fedora、Ubuntu 的各版本镜像,并可以直接用 systemd-nspawn 的验证机制进行签名验证。
推荐的用法是使用其提供的 “nspawn” 工具。下面以创建一个 Fedora 30 容器为例:
1、获取工具:
$ wget https://raw.githubusercontent.com/nspawn/nspawn/master/nspawn
$ chmod +x nspawn
2、获取 Fedora 30 镜像:
$ sudo ./nspawn init fedora/30/tar
3、启动容器并获取 shell:
$ sudo machinectl start fedora-30-tar
$ sudo machinectl shell fedora-30-tar
Connected to machine fedora-30-tar. Press ^] three times within 1s to exit session.
[root@fedora30 ~]#
一些背景:容器默认的存储路径在 /var/lib/machines/。nspawn.org 的创建者是 shibumi,目前是 Arch Linux Trusted User。所有的镜像使用 mkosi 制作,定义文件均在 GitHub 上。除了 nspawn 容器镜像,这个站点还提供可引导的 GPT-UEFI 镜像。
docker 都算重量性的解决方案了吗?我觉得在今天使用 docker/podman 已经是很轻量的方案了
算的……docker会乱搞我宿主机的iptables,以及存储方面也增加了我不需要的复杂度(并产生性能损失)……
我还是更倾向lxc,各种东西更完备一些