国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Ubuntu > 正文

在Ubuntu系統(tǒng)中使用LXC容器的教程

2020-05-27 13:01:08
字體:
供稿:網(wǎng)友

   使用“容器”來保證主機環(huán)境的安全性,這個概念早在十年前就已經(jīng)存在(例如 FreeBSD 的 jail 虛擬化技術(shù)),但是直到最近,隨著部署云架構(gòu)需求越來越多,像 LXC 和 Docker 這種 Linux 下的容器才成為被關(guān)注的焦點。當然,由于主流廠商(云服務(wù)商如亞馬遜主推 AWS,微軟主推 Azure;發(fā)行版如紅帽、Ubuntu等)組成的強大靠山,Docker 已經(jīng)被放在媒體的聚光燈下面,其實,Docker 里面所謂的“容器”技術(shù)是由 LXC 提供的。

  你只是一個普通的 Linux 用戶,那 Docker/LXC 能為你帶來什么好處呢?容器可以將你的應(yīng)用在不同的 Linux 發(fā)行版之間遷移。想像一下這個場景:你正在用的發(fā)行版是 Debian,你喜歡它的穩(wěn)定性,同時你又想玩一款最新的 Ubuntu 游戲,你不需要在電腦上裝雙系統(tǒng)然后重啟進入 Ubuntu,也不需要在 Debian 上跑一個耗資源的 Ubuntu 虛擬機,你只需要簡單地生成一個 Ubuntu 容器就夠了。

  拋開 Docker 的好處不談,讓我們聊一下 LXC 容器的好處:我可以使用 libvirt 提供的接口來管理 LXC,這些接口和 Docker 沒有任何關(guān)系。如果你有使用基于 libvirt 庫的管理工具(例如 virt-manager 和 virsh),你就可以使用它們來管理 LXC 容器。

  在這篇教程中,我只介紹標準 LXC 容器管理工具的命令行操作,來教你如何在 Ubuntu 下創(chuàng)建和管理 LXC 容器。

  Ubuntu 下安裝 LXC

  使用下面的命令安裝 LXC 在用戶態(tài)的工具:

  代碼如下:

  $ sudo apt-get install lxc

  然后檢查當前內(nèi)核是否支持 LXC。如果所有結(jié)果都是“enable”,說明內(nèi)核支持:

  代碼如下:

  $ lxc-checkconfig

2015616174955305.jpg (640×521)

  安裝完 LXC 工具后,就能看到 LXC 自動創(chuàng)建了一塊橋接網(wǎng)卡(lxcbr0,可以在 /etc/lxc/default.conf 中設(shè)置)。

2015616175017667.jpg (640×210)

  當你創(chuàng)建了 LXC 容器后,它的網(wǎng)口會自動鏈接到這個橋接網(wǎng)卡上,然后這個容器就能和外部世界通信了。

  創(chuàng)建 LXC 容器

  為了在指定環(huán)境下(比如 Debian Wheezy 64位)創(chuàng)建 LXC 容器,你需要一個相應(yīng)的 LXC 模板。幸運的是 LXC 提供的工具集成了一整套現(xiàn)成的 LXC 模板,你可以在 /usr/share/lxc/templates 目錄下找到它們。

  代碼如下:

  $ ls /usr/share/lxc/templates

2015616175036284.jpg (593×101)

  一個 LXC 模板實質(zhì)上就是一個腳本,用于創(chuàng)建指定環(huán)境下的容器。當你創(chuàng)建 LXC 容器時,你需要用到它們。

  比如你要新建 Ubuntu 容器,使用下面的命令即可:

  代碼如下:

  $ sudo lxc-create -n -t ubuntu

  默認情況下,這個命令會創(chuàng)建一個最小的 Ubuntu 環(huán)境,版本號與你的宿主機一致,我這邊是“活潑的蠑螈”(版本號是13.10),64位。

  當然你也可以創(chuàng)建任何你喜歡的版本,只要在命令里面加一個版本參數(shù)即可。舉個例子,創(chuàng)建 Ubuntu 14.10 的容器:

  代碼如下:

  $ sudo lxc-create -n -t ubuntu -- --release utopic

  這個命令就會下載安裝指定環(huán)境下的軟件包,創(chuàng)建新容器。整個過程需要幾分鐘時間,與容器的類型有關(guān),所以,你可能需要耐心等待。

2015616175347149.jpg (640×350)

  下載安裝完所有軟件包后,LXC 容器鏡像就創(chuàng)建完成了,你可以看到默認的登錄界面。容器被放到 /var/lib/lxc/<容器名> 這個目錄下,容器的根文件系統(tǒng)放在 /var/lib/lxc/<容器名>/rootfs 目錄下。

  創(chuàng)建過程中下載的軟件包保存在 /var/cache/lxc 目錄下面,當你想另外建一個一樣的容器時,可以省去很多下載時間。

  用下面的命令看看主機上所有的 LXC 容器:

  代碼如下:

  $ sudo lxc-ls --fancy

NAME STATE IPV4 IPV6 AUTOSTART

  ------------------------------------

  test-lxc STOPPED - - NO

  使用下面的命令啟動容器。參數(shù)“-d”將容器作為后臺進程打開。如果沒有指定這個參數(shù),你可以在控制臺界面上直接把容器的運行程序關(guān)閉(LCTT譯注:Ctrl+C組合鍵)。

  代碼如下:

  $ sudo lxc-start -n -d

  打開容器后,看看狀態(tài):

  代碼如下:

  $ sudo lxc-ls --fancy

NAME STATE IPV4 IPV6 AUTOSTART

  -----------------------------------------

  lxc RUNNING 10.0.3.55 - NO

  容器狀態(tài)是“運行中”,容器 IP 是10.0.3.55。

  你也可以看到容器的網(wǎng)絡(luò)接口(比如我這里是 vethJ06SFL)自動與 LXC 內(nèi)部網(wǎng)橋(lxcbr0)連上了:

  代碼如下:

  $ brctl show lxcbr0

2015616175417771.jpg (640×78)

  管理 LXC 容器

  我們已經(jīng)學習了怎么創(chuàng)建和啟動 LXC 容器,現(xiàn)在來看看怎么玩一個正在運行著的容器。

  第一步:打開容器控制臺:

  代碼如下:

  $ sudo lxc-console -n

2015616175442097.jpg (640×322)

  使用“Crtl+a q”組合鍵退出控制臺。

  停止、刪除容器:

  代碼如下:

  $ sudo lxc-stop -n

  $ sudo lxc-destroy -n

  復制容器,用下面的命令:

  代碼如下:

  $ sudo lxc-stop -n

  $ sudo lxc-clone -o -n

  常見問題

  這個小節(jié)主要介紹你們在使用 LXC 過程中碰到過的問題。

  創(chuàng)建 LXC 容器時遇到下面的錯誤:

  代碼如下:

  $ sudo lxc-create -n test-lxc -t ubuntu

lxc-create: symbol lookup error: /usr/lib/x86_64-linux-gnu/liblxc.so.1: undefined symbol: cgmanager_get_pid_cgroup_abs_sync

  錯誤的原因是你運行了最新的 LXC,但是它所依賴的 libcgmanager 版本較老,兩者不兼容。升級下 libcmanager 即可解決問題:

  代碼如下:

  $ sudo apt-get install libcgmanager0

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 静海县| 调兵山市| 太仓市| 那曲县| 乌鲁木齐市| 延津县| 巧家县| 湖南省| 海门市| 团风县| 合作市| 清苑县| 道真| 上饶市| 内黄县| 调兵山市| 甘谷县| 苍梧县| 连江县| 喀喇沁旗| 杂多县| 泉州市| 新源县| 黄浦区| 通州市| 阿鲁科尔沁旗| 辉南县| 晴隆县| 临城县| 庐江县| 绵阳市| 桐梓县| 防城港市| 保定市| 道孚县| 濮阳县| 安阳县| 邹平县| 扎囊县| 上林县| 靖边县|