LXC:Linux 容器工具
如果您习惯于构建源 RPM,可以从网上下载一个(见 参考资料). 工具:iproute2 为了在容器中管理网络接口,需要 2.6.26 或更高版本的 iproute2 包(见 参考资料).如果您的 Linux 发行版没有这个包,请下载并按照说明配置和安装它. 配置网络 很多实用的容器的另一个关键部分是网络访问.目前,桥接(连接多个以太网区段,使它们成为一个单独的以太网区段)是将一个容器连接到网络的最佳方法.为了准备使用 LXC,我们将创建一个桥(见 参考资料),并使用它将我们真正的网络接口与容器的网络接口连接起来. 创建一个名为 br0 的桥:
用一个已有网络接口中的 IP(在本例中是 10.0.2.15)连接桥接口:ifconfig br0 10.0.2.15 promisc up.将已有的网络接口(在本例中是 eth0)添加到桥,并取消它与它的 IP 地址的直接关联:
任何添加到桥 br0 的接口都将对那个 IP 地址作出响应.,确保默认的路由用 route add -net default gw 10.0.2.2 br0 将数据包发送到网关.以后,在配置容器时,指定 br0 作为通往外界的链接. 填充容器文件系统 除了网络外,容器常常需要它们自己的文件系统.取决于您的需要,有几种填充容器文件系统的方法.我将讨论其中两种: 构建一个定制的 Debian 容器
如果要构建大量的容器,将包下载到一个 tarball 中可以节省时间,例如 debootstrap --make-tarball sid.packages.tgz sid http://debian.osuosl.org/debian/.这将产生一个 .tar 文件,这个文件约 71MB(压缩了 52MB),而一个根目录约 200MB.然后开始在 rootfs 中构建根目录:debootstrap --unpack-tarball sid.packages.tgz sid rootfs.(debootstrap 主页上有更多关于构建更小的或更适合的容器的信息). 这将生成一个宿主容器高度冗余的环境(见 参考资料). 运行 ssh 容器 可以大大减少容器文件系统占用的磁盘空间.例如,这种方法仅仅使用数 KB 就能在不同容器的 22 端口上运行多个 ssh 守护进程(参考资料 中提供了一个例子).容器通过使用关键根目录来实现这一点,例如 /bin、/sbin 和 /lib 等的只读绑定挂载共享来自已有 Linux 系统的 sshd 包内容.这里使用一个网络名称空间,并创建基本的读写内容. 用于生成那些轻量级容器的方法与用于生成 chroot 环境的方法基本一样.不同之处在于只读绑定挂载和使用名称空间增强 chroot 环境的隔离性,使之成为有效的容器. 接下来,需要选择一种连接到容器的方法. 连接到容器 接下来的步骤是连接到容器.根据配置容器的不同方式,有几种方法可供选择: SSH 如果 ssh 连接花很长的时间才到达密码提示,那么在 DNS 查找期间 Avahi multicast DNS/Service Discovery 守护进程就可能超时. 通过 Virtual Network Computing(VNC)连接,这种方法可以为容器增加一个 GUI 接口. 使用 vnc4server 启动一个 X 服务器,该服务器只为 VNC 客户机服务.需要安装 vnc4server,以便从容器的 /etc/rc.local 文件运行它,如下所示:echo ''/usr/bin/vnc4server :0 -geometry 1024x768 -depth 24'' >> rootfs/ |
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |