在ubuntu上运行linux容器(lxc)以隔离Web服务器进程(ruby / thin)

前端之家收集整理的这篇文章主要介绍了在ubuntu上运行linux容器(lxc)以隔离Web服务器进程(ruby / thin)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试设置一个服务器,我将运行多个应用程序.主要是内部的,但也可能是像Redmine这样的开源项目.它们都是在无头浏览器上运行的Rails / Ruby应用程序/测试脚本.本质上,我试图在内部设置类似heroku的环境,并希望在这些正在运行的进程之间进行某种进程隔离.

我首先偶然发现了chroot监狱,然后了解了LXC. LXC似乎可以更好地控制普通的chroot监狱.我有一个Nginx前端,我想在隔离的容器中运行webserver应用程序进程(thin / mongrel / webrick).通常我们只是在本地IP地址上启动这些进程,并为它们安装Nginx代理.完成这项工作的最佳方法是什么?人们为容器设置静态桥接IP并且Nginx指向它吗?如何确保在容器中运行的Web服务器只能由外部主机访问?

关于LXC的文档似乎有点稀疏.指向一些好的教程或HOWTOs的指针将不胜感激.我的目标部署环境是一个Lucid 64位盒子.

附:我不是linux大师.所以,要温柔.

假设您自己的IP是192.168.1.1,您的网关是192.168.1.254,您的网络是192.168.1.0/24.

您应该在主机上建立桥接接口,如/ etc / network / interfaces文件中所示

auto lo
 iface lo inet loopback

 auto br0
 iface br0 inet static
     address 192.168.1.1
     network 192.168.1.0
     netmask 255.255.255.0
     broadcast 192.168.1.255
     gateway 192.168.1.254
     bridge_ports eth0
     bridge_stp off
     bridge_fd 3
     bridge_hello 1
     bridge_maxage 5

然后在LXC中安装一个基本的ubuntu:

apt-get install lxc vlan bridge-utils python-software-properties screen
 mkdir /lxc
 debootstrap oeniric /lxc/ubuntu
 chroot ubuntu
 locale-gen en_US.UTF-8
 apt-get update
 apt-get install lxcguest ssh
 passwd
 rm /etc/mtab
 ln -s /proc/mounts /etc/mtab
 exit

使用内容创建文件/lxc/ubuntu.config

lxc.utsname = ubuntu
 lxc.tty = 8
 lxc.rootfs = /lxc/ubuntu
 lxc.mount = /lxc/ubuntu.fstab
 lxc.network.type = veth
 lxc.network.flags = up
 lxc.network.link = br0
 lxc.network.name = eth0
 lxc.network.mtu = 1500
 lxc.network.ipv4 = 192.168.1.10/24

/lxc/ubuntu.fstab with

none /lxc/ubuntu/dev/pts devpts defaults 0 0
 none /lxc/ubuntu/proc proc defaults 0 0
 none /lxc/ubuntu/sys sysfs defaults 0 0
 none /lxc/ubuntu/run tmpfs defaults 0 0

添加到/lxc/ubuntu/etc/rc.local

route add default gw 192.168.1.254

根据您的需要编辑/lxc/ubuntu/etc/resolv.cont.

然后你可以创建你的机器

lxc-create -f /lxc/ubuntu.config -n ubuntu

然后开始

lxc-start -n ubuntu

或停止

lxc-stop -n ubuntu

或者最后毁灭

lxc-destroy -n ubuntu

您的新虚拟机将具有IP 192.168.1.10,并且可以在网络上访问.

原文链接:/ubuntu/348692.html

猜你在找的Ubuntu相关文章