安装配置 LXC 容器.
root # cd /usr/src/linux
root # lxc-checkconfig
root # emerge --sync
root # emerge --ask app-emulation/lxc
root # emerge -av lxc-templates
root # mount | grep cgroup
root # mkdir -p /sys/fs/cgroup/systemd
root # mount -t cgroup -o none,name=systemd systemd /sys/fs/cgroup/systemd
#创建debian容器
root # emerge --ask dev-util/debootstrap
root # lxc-create -t debian -n debian.lxc
#报错:E: Release signed by unknown key
root # gpg --search-keys XXXXXXXXXXXXX
root # cd /var/lib/cache/lxc/debian/
root # wget -c https://ftp-master.debian.org/keys/archive-key-10.asc
root # gpg2 --keyring=/var/lib/cache/lxc/debian/archive-key.gpg --no-default-keyring --import archive-key-10.asc
root # gpg2 --keyring=/var/lib/cache/lxc/debian/archive-key.gpg --list-keys
#再次安装,可以加上配置文件
root # lxc-create -t debian -n debian.lxc -f /etc/lxc/debian.conf
#也可以直接下载使用:
root # lxc-create -n fedora -t download -- -d fedora -r 33 -a amd64
root # lxc-create -n opensuse -t download -- -d opensuse -r tumbleweed -a amd64
#启动容器
root # lxc-ls -f
root # lxc-start -n debian.lxc
#进入
root # lxc-console -n debian.lxc
#如果不能用,则
root # lxc-console -n debian.lxc -t 0
#或者用lxc-attach
root # lxc-attach -n debian.lxc --clear-env
#关闭容器
root # lxc-stop -n debian.lxc
#用libvirt管理网络,先给libvirt的USE加上lxc,重新编译安装,重启,配置/var/lib/lxc/debian.lxc/config
root # vim /var/lib/lxc/debian.lxc/config
file /var/lib/lxc/debian.lxc/config
#部分修改
#lxc.net.0.type = empty
lxc.net.0.type = veth
lxc.net.0.flags = up
lxc.net.0.link = virbr0
lxc.net.0.hwaddr = 52:53:00:79:a0:b0
#先修改config
root # vim /var/lib/lxc/debian.lxc/config
#在容器外启动
root # lxc-attach -n debian.lxc --clear-env -- sudo -u YOURUSER env DISPLAY=:0 firefox
#在容器内启动
tim $ DISPLAY=:0 firefox
file /var/lib/lxc/debian.lxc/config
# for xorg, 如果在/tmp/.X11-unix下看不到X0,可能是主机的systemd在这之后把/tmp挂载到tmpfs了
#部分修改
lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry = /dev/snd dev/snd none bind,optional,create=dir
lxc.mount.entry = /tmp/.X11-unix tmp/.X11-unix none bind,optional,create=dir,ro
lxc.mount.entry = /dev/video0 dev/video0 none bind,optional,create=file
#lxc.mount.entry = tmpfs tmp tmpfs defaults
本文作者是一位开源理念的坚定支持者,所以本文内容遵照开源的精神发布。
无担保:本文作者不保证此文内容准确无误,亦不承担任何由于使用此文档所导致的损失。
自由使用:任何人都可以自由的阅读/链接/打印此文档,无需任何附加条件。
名誉权:任何人都可以自由的转载/引用/再创作此文档,但必须保留作者署名并注明出处。
其他作品
本文作者十分愿意与他人分享劳动成果,如果你对我的其他作品有兴趣,可以在如下位置查看现有的作品集:
Tim 作品集 [ https://tiimmm.com/ ]
联系方式
由于作者水平有限,因此不能保证此文内容准确无误。如果你发现了此文中的错误(哪怕是错别字也好),请来信指出,任何提高此文质量的建议我都将虚心接纳。
Email: tiimmm dot chen at gmail dot com
网站制作者:Author:tiimmm dot chen at gmail dot com, Welcome to email for discussion!