Tim's Web Home

Gentoo LXC on the T website

Gentoo LXC 容器:

安装配置 LXC 容器.

  • 检查内核选项,不匹配时重新选内核选项编译内核
      root # cd /usr/src/linux
      root # lxc-checkconfig
    
  • 安装LXC容器及模板等
      root # emerge --sync
      root # emerge --ask app-emulation/lxc
      root # emerge -av lxc-templates
    
  • 查看cgroup加载情况,如果没有加载systemd相关,手动加载
      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
    
  • 运行X程序
      #先修改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!



T站勉强运行341天4时37分3秒
多伦多时间:2024-05-20 Monday 03:10:18 AM