LXC是linux container的缩写,是一种操作系统级别的虚拟化方式,本文主要介绍一下debian8下LXC的安装和配置。
LXC的安装和使用对系统有一定要求,不过基本需求不是很高:
核心依赖包:
Hard dependencies:
- One of glibc, musl libc, uclib or bionic as your C library
- Linux kernel >= 2.6.32
lxc-attach命令的额外依赖:
Extra dependencies for lxc-attach:
- Linux kernel >= 3.8
unprivileged container的额外依赖:
Extra dependencies for unprivileged containers:
- cgmanager or another CGroup manager configuring your system for unprivileged CGroups operation
- A recent version of shadow including newuidmap and newgidmap
- Linux kernel >= 3.12
安装方式很简单,直接用debian官方源里直接安装就可以:
sudo apt-get install lxc
接着就可以创建一个容器了,使用如下命令:
sudo lxc-create -t download -n my-container
这一步会下载官方的镜像源,根据需求和提示选择自己需要的系统和发行版本然后回车,我这里选择debian jessie amd64。
接着系统下载和安装会花费一段时间,完成后如果没有出错应该和下图类似。
默认情况下系统是没有初始密码的,也是为了安全考虑,所以需要自己先设置密码,否则无法登陆,使用chroot命令设置密码:
sudo chroot /var/lib/lxc/my-container/rootfs/
passwd
接着就可以启动容器了,不出意外就可以进入console登录界面,输入刚才设置的密码登录:
sudo lxc-start -n my-container
至此一个容器就建立好了,但是这时容器是没有网络的,下面介绍一下网络接口的配置,因为我使用的机器只有一个IP,所以选择NAT方式接入网络,编辑/etc/network/interfaces文件,添加如下内容:
auto br0
iface br0 inet static
address 192.168.254.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 4.2.2.2
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
pre-down echo > /proc/sys/net/ipv4/ip_forward
pre-down iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
bridge_ports none
bridge_stp off
保存后执行sudo /etc/init.d/networking restart,用ifconfig查看网络接口,如果多出来一个br0说明配置生效了。
接着在/var/lib/lxc/my-container/config内修改lxc.network.type = empty为如下内容:
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
保存后需要重启容器生效,这时ssh登录界面被容器占据无法退出,可以重新启动一个会话,先停止容器然后启动:
sudo lxc-stop -n my-container
sudo lxc-start -n my-container
不出意外这时登录容器就可以看到网卡eth0,但是此时没有IP和网络,需要手动设置,以下命令是在容器内部执行的:
ifconfig eth0 192.168.254.2/24
route add default gw 192.168.254.1
echo ‘nameserver 8.8.8.8’>/etc/resolv.conf
然后执行apt-get update 和 apt-get install 安装基本的软件包(默认没有vi,wget这些基本包,openssh-server也是需要自己安装的),然后把网络地址设置成静态以免每次启动都要重新设置(这里应该可以做DHCP,但是我没有测试,就不介绍了,感兴趣的可以自行研究)。
因为使用的是NAT方式,如果需要从外部访问SSH进行管理还需要做端口映射,可以使用iptables:
iptables -t nat -A PREROUTING -i eth0 -p tcp –dport {external_port} -j DNAT –to-destination 192.168.254.2:22
至此整个LXC的安装和配置就完成了。
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!