当前位置: 首页 > 工具软件 > LXC > 使用案例 >

LXC学习

刁星渊
2023-12-01

今天听到同事聊起docker,后来百度了下,说是底层会使用LXC。于是找照猫画虎试验了下

环境:Ubuntu 14.04.1    64

1,安装

sudo apt-get install lxc

报错:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
lxc : Depends: apparmor but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

这里按提示下载apparmor,说已经是最新版本

没有好的办法,于是:

sudo apt-get remove apparmor 
sudo apt-get install apparmor
sudo apt-get install lxc

#感觉这样有点危险,担心删除什么重要的东西,还是得找个稳妥的方法


2,检测

lxc-version  #检查版本

lxc-checkconfig  #判断内核是否支持LXC

这里有个小问题,有这么一项:Cgroup memory controller: missing

不过略过不提,一般的missing还是可以使用的LXC的


3,创建客户机

sudo lxc-create -n lxc-busybox -t busybox

lxc-busybox是创建的容器的名字;

busybox是LXC提供的一种简单的常用模板,看百科貌似也可以自己定义配置文件


4,启动

$ sudo lxc-start -n  lxc-busybox

[sudo] password for cloud: 
udhcpc (v1.21.1) started
Sending discover...
Sending select for 10.0.3.26...
Lease of 10.0.3.26 obtained, lease time 3600


Please press Enter to activate this console. 

#这里Enter就可以进去了,有点简陋


BusyBox v1.21.1 (Ubuntu 1:1.21.0-1ubuntu1) built-in shell (ash)
Enter 'help' for a list of built-in commands.


/ # ^[[22;5Rls
ls
bin      etc      lib      mnt      root     selinux  usr
dev      home     lib64    proc     sbin     tmp      var

5,关闭
sudo lxc-stop -n lxc-busybox

#这里另开一个命令行界面执行。在容器内部退出的方法暂时没找到

查看百科还有destory销毁之类的命令,暂未实验


查看资料:

http://tieba.baidu.com/p/2248880856

http://baike.baidu.com/link?url=aVty_Fd8zvP01ykqC1RrlrlVh659_RyNZcFxAXQg39bMv6e30P3imWOFB3W3bRK8dFwWuKurGUVdycKc6ToVWa

 类似资料: