落日沧海的专栏

这段时间学习LXC,想借助一个案例——在LXC上部署tomcat服务器,一方面加深自己对部署应用到LXC容器的理解,另一方面也熟悉一下tomcat服务器的部署操作(之前在Linux上从未部署过tomcat)。。。话不多说,开始吧:

一、软件环境及平台

操作系统:Ubuntu 14.04, 64位

jdk版本:jdk-8u40-linux-x64.tar.gz

tomcat版本:apache-tomcat-8.0.21.tar.gz

二、LXC的安装和容器实例的创建

step1:通过apt-get命令自动安装LXC

<span style="font-family:FangSong_GB2312;font-size:14px;"> sudo apt-get install lxc</span>

step2:检验LXC是否安装好

网上一些资料建议执行lxc-version命令,查看是否显示LXC的版本号。但在我的机子上提示如下图:

我不太清楚其中的原因,但实践表明这并不影响我们后续的安装。通过另外一种方式,执行“lxc-checkconfig”命令来检查。执行结果中应该都显示为“enabled”,如下图所示:

<span style="font-family:FangSong_GB2312;font-size:14px;">lxc-checkconfig</span>

step3:创建容器实例lxc-test

创建名为lxc-test的实例容器,采用宿主机ubuntu14.04为模板(默认采用宿主机为模板)。执行命令如下:

<span style="font-family:FangSong_GB2312;font-size:14px;">sudo lxc-create -t ubuntu -n lxc-test</span>其中-t参数表示创建的虚拟机模板的名称,-n表示创建的虚假机的名称。更详细的参数可以查看相应的资料,这里不再说明。

截取部分执行结果如下,其中注意倒数第二行的用户名“ubuntu”和密码“ubuntu”,接下来的操作会用到:

step4:管理LXC容器

1.查看容器状态

通过“sudo lxc-ls –fancy”命令可以查看容器的列表和状态,命令如下:

<span style="font-family:FangSong_GB2312;font-size:14px;">sudo lxc-ls –fancy</span>

执行结果如下图:

我们已经创建了名为lxc-test的容器实例,但此处仍未启动。

值得提醒的是,命令中一定要采用sudo,否则会出现以下错误结果,但并不会有错误信息。

2.启动容器

通过“lxc-start -n”命令可以启动容器,命令如下:

<span style="font-family:FangSong_GB2312;font-size:14px;">sudo lxc-start -n lxc-test -d</span>其中-d表示以守护进程的方式启动lxc,再次不做详细说明。执行后若无任何提示,表明启动成功,此时再查看容器状态,如下图所示:

其中state状态变为RUNNNING,并且分配了IP地址

3.访问容器控制台

“访问容器控制台”相当于进入容器系统的终端,所用命令如下:

<span style="font-family:FangSong_GB2312;font-size:14px;">sudo lxc-console -n lxc-test</span>执行结果是跳至新的界面,如下图所示:

此时需要输入帐号和密码,也即是step3中所提到的“ubuntu”(帐号)和“ubuntu”(密码),输入成功后进入以下界面:

这个界面是不是很像我们的Linux命令行。。。

小插曲:在此,我们可以使用uname -a对比容器实例和宿主机的内核参数,这一步不是必须的,只是为了加深对容器的理解。

宿主机和lxc中信息分别如下面两张图。对比之后发现,,除去用户名不同,其他的内核信息是完全一样的,连内核安装的时间都相同,这充分表明二者是使用同一个内核。

对于旅行,从来都记忆模糊。记不得都去了哪些地方,

落日沧海的专栏

相关文章:

你感兴趣的文章:

标签云: