日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
在Ubuntu上體驗(yàn)LXD容器

本文的主角是容器,一種類似虛擬機(jī)但更輕量級(jí)的構(gòu)造。你可以輕易地在你的 ubuntu 桌面系統(tǒng)中創(chuàng)建一堆容器!

虛擬機(jī)會(huì)虛擬出整個(gè)電腦讓你來(lái)安裝客戶機(jī)操作系統(tǒng)。相比之下,容器復(fù)用了主機(jī)的 linux 內(nèi)核,只是簡(jiǎn)單地 包容 了我們選擇的根文件系統(tǒng)(也就是運(yùn)行時(shí)環(huán)境)。Linux 內(nèi)核有很多功能可以將運(yùn)行的 Linux 容器與我們的主機(jī)分割開(也就是我們的 Ubuntu 桌面)。

Linux 本身需要一些手工操作來(lái)直接管理他們。好在,有 LXD(讀音為 Lex-deeh),這是一款為我們管理 Linux 容器的服務(wù)。

我們將會(huì)看到如何:

  1. 在我們的 Ubuntu 桌面上配置容器,
  2. 創(chuàng)建容器,
  3. 安裝一臺(tái) web 服務(wù)器,
  4. 測(cè)試一下這臺(tái) web 服務(wù)器,以及
  5. 清理所有的東西。

 

設(shè)置 Ubuntu 容器

如果你安裝的是 Ubuntu 16.04,那么你什么都不用做。只要安裝下面所列出的一些額外的包就行了。若你安裝的是 Ubuntu 14.04.x 或 Ubuntu 15.10,那么按照 LXD 2.0 系列(二):安裝與配置 來(lái)進(jìn)行一些操作,然后再回來(lái)。

確保已經(jīng)更新了包列表:

  1. sudo apt update
  2. sudo apt upgrade

安裝 lxd 包:

  1. sudo apt install lxd

若你安裝的是 Ubuntu 16.04,那么還可以讓你的容器文件以 ZFS 文件系統(tǒng)的格式進(jìn)行存儲(chǔ)。Ubuntu 16.04 的 Linux kernel 包含了支持 ZFS 必要的內(nèi)核模塊。若要讓 LXD 使用 ZFS 進(jìn)行存儲(chǔ),我們只需要安裝 ZFS 工具包。沒(méi)有 ZFS,容器會(huì)在主機(jī)文件系統(tǒng)中以單獨(dú)的文件形式進(jìn)行存儲(chǔ)。通過(guò) ZFS,我們就有了寫入時(shí)拷貝等功能,可以讓任務(wù)完成更快一些。

安裝 zfsutils-linux 包(若你安裝的是 Ubuntu 16.04.x):

  1. sudo apt install zfsutils-linux

安裝好 LXD 后,包安裝腳本應(yīng)該會(huì)將你加入 lxd 組。該組成員可以使你無(wú)需通過(guò) sudo 就能直接使用 LXD 管理容器。根據(jù) Linux 的習(xí)慣,你需要先登出桌面會(huì)話然后再登錄 才能應(yīng)用 lxd 的組成員關(guān)系。(若你是高手,也可以通過(guò)在當(dāng)前 shell 中執(zhí)行 newgrp lxd 命令,就不用重登錄了)。

在開始使用前,LXD 需要初始化存儲(chǔ)和網(wǎng)絡(luò)參數(shù)。

運(yùn)行下面命令:

  1. $ sudo lxd init
  2. Name of the storage backend to use(diror zfs): zfs
  3. Create a new ZFS pool (yes/no)?yes
  4. Name of the new ZFS pool: lxd-pool
  5. Would you like to use an existing block device (yes/no)?no
  6. Sizein GB of the new loop device (1GB minimum):30
  7. Would you like LXD to be available over the network (yes/no)?no
  8. Do you want to configure the LXD bridge (yes/no)?yes
  9. >You will be asked about the network bridge configuration.Accept all defaults andcontinue.
  10. Warning:Stopping lxd.service, but it can still be activated by:
  11. lxd.socket
  12. LXD has been successfully configured.
  13. $ _

我們?cè)谝粋€(gè)(單獨(dú))的文件而不是塊設(shè)備(即分區(qū))中構(gòu)建了一個(gè)文件系統(tǒng)來(lái)作為 ZFS 池,因此我們無(wú)需進(jìn)行額外的分區(qū)操作。在本例中我指定了 30GB 大小,這個(gè)空間取之于根(/) 文件系統(tǒng)中。這個(gè)文件就是 /var/lib/lxd/zfs.img。

行了!最初的配置完成了。若有問(wèn)題,或者想了解其他信息,請(qǐng)閱讀 https://www.stgraber.org/2016/03/15/lxd-2-0-installing-and-configuring-lxd-212/ 。

 

創(chuàng)建第一個(gè)容器

所有 LXD 的管理操作都可以通過(guò) lxc 命令來(lái)進(jìn)行。我們通過(guò)給 lxc 不同參數(shù)來(lái)管理容器。

  1. lxc list

可以列出所有已經(jīng)安裝的容器。很明顯,這個(gè)列表現(xiàn)在是空的,但這表示我們的安裝是沒(méi)問(wèn)題的。

  1. lxc image list

列出可以用來(lái)啟動(dòng)容器的(已經(jīng)緩存的)鏡像列表。很明顯這個(gè)列表也是空的,但這也說(shuō)明我們的安裝是沒(méi)問(wèn)題的。

  1. lxc image list ubuntu:

列出可以下載并啟動(dòng)容器的遠(yuǎn)程鏡像。而且指定了顯示 Ubuntu 鏡像。

  1. lxc image list images:

列出可以用來(lái)啟動(dòng)容器的(已經(jīng)緩存的)各種發(fā)行版的鏡像列表。這會(huì)列出各種發(fā)行版的鏡像比如 Alpine、Debian、Gentoo、OpenSUSE 以及 Fedora。

讓我們啟動(dòng)一個(gè) Ubuntu 16.04 容器,并稱之為 c1

  1. $ lxc launch ubuntu:x c1
  2. Creating c1
  3. Starting c1
  4. $

我們使用 launch 動(dòng)作,然后選擇鏡像 ubuntu:xx 表示 Xenial/16.04 鏡像),最后我們使用名字 c1 作為容器的名稱。

讓我們來(lái)看看安裝好的首個(gè)容器,

  1. $ lxc list
  2. +---------|---------|----------------------|------|------------|-----------+
  3. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  4. +---------|---------|----------------------|------|------------|-----------+
  5. | c1 | RUNNING |10.173.82.158(eth0)|| PERSISTENT |0|
  6. +---------|---------|----------------------|------|------------|-----------+

我們的首個(gè)容器 c1 已經(jīng)運(yùn)行起來(lái)了,它還有自己的 IP 地址(可以本地訪問(wèn))。我們可以開始用它了!

 

安裝 web 服務(wù)器

我們可以在容器中運(yùn)行命令。運(yùn)行命令的動(dòng)作為 exec。

  1. $ lxc exec c1 --uptime
  2. 11:47:25 up 2 min,0users,load average:0.07,0.05,0.04
  3. $ _

exec 后面,我們指定容器、最后輸入要在容器中運(yùn)行的命令。該容器的運(yùn)行時(shí)間只有 2 分鐘,這是個(gè)新出爐的容器:-)。

命令行中的 -- 跟我們 shell 的參數(shù)處理過(guò)程有關(guān)。若我們的命令沒(méi)有任何參數(shù),則完全可以省略 -。

  1. $ lxc exec c1 --df-h

這是一個(gè)必須要 - 的例子,由于我們的命令使用了參數(shù) -h。若省略了 -,會(huì)報(bào)錯(cuò)。

然后我們運(yùn)行容器中的 shell 來(lái)更新包列表。

  1. $ lxc exec c1 bash
  2. root@c1:~# apt update
  3. Ign http://archive.ubuntu.com trusty InRelease
  4. Get:1 http://archive.ubuntu.com trusty-updates InRelease [65.9 kB]
  5. Get:2 http://security.ubuntu.com trusty-security InRelease [65.9 kB]
  6. ...
  7. Hit http://archive.ubuntu.com trusty/universe Translation-en
  8. Fetched11.2 MB in9s(1228 kB/s)
  9. Readingpackage lists...Done
  10. root@c1:~# apt upgrade
  11. Readingpackage lists...Done
  12. Building dependency tree
  13. ...
  14. Processing triggers forman-db (2.6.7.1-1ubuntu1)...
  15. Setting up dpkg (1.17.5ubuntu5.7)...
  16. root@c1:~# _

我們使用 nginx 來(lái)做 web 服務(wù)器。nginx 在某些方面要比 Apache web 服務(wù)器更酷一些。

  1. root@c1:~# apt install nginx
  2. Readingpackage lists...Done
  3. Building dependency tree
  4. ...
  5. Setting up nginx-core (1.4.6-1ubuntu3.5)...
  6. Setting up nginx (1.4.6-1ubuntu3.5)...
  7. Processing triggers for libc-bin (2.19-0ubuntu6.9)...
  8. root@c1:~# _

讓我們用瀏覽器訪問(wèn)一下這個(gè) web 服務(wù)器。記住 IP 地址為 10.173.82.158,因此你需要在瀏覽器中輸入這個(gè) IP。

lxd-nginx

讓我們對(duì)頁(yè)面文字做一些小改動(dòng)?;氐饺萜髦?,進(jìn)入默認(rèn) HTML 頁(yè)面的目錄中。

  1. root@c1:~#cd/var/www/html/
  2. root@c1:/var/www/html#ls-l
  3. total 2
  4. -rw-r--r--1 root root 612Jun2512:15 index.nginx-debian.html
  5. root@c1:/var/www/html#

使用 nano 編輯文件,然后保存:

lxd-nginx-nano

之后,再刷一下頁(yè)面看看,

lxd-nginx-modified

 

清理

讓我們清理一下這個(gè)容器,也就是刪掉它。當(dāng)需要的時(shí)候我們可以很方便地創(chuàng)建一個(gè)新容器出來(lái)。

  1. $ lxc list
  2. +---------+---------+----------------------+------+------------+-----------+
  3. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  4. +---------+---------+----------------------+------+------------+-----------+
  5. | c1 | RUNNING |10.173.82.169(eth0)|| PERSISTENT |0|
  6. +---------+---------+----------------------+------+------------+-----------+
  7. $ lxc stop c1
  8. $ lxc delete c1
  9. $ lxc list
  10. +---------+---------+----------------------+------+------------+-----------+
  11. | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
  12. +---------+---------+----------------------+------+------------+-----------+
  13. +---------+---------+----------------------+------+------------+-----------+

我們停止(關(guān)閉)這個(gè)容器,然后刪掉它了。

本文至此就結(jié)束了。關(guān)于容器有很多玩法。而這只是配置 Ubuntu 并嘗試使用容器的第一步而已。

via: https://blog.simos.info/trying-out-lxd-containers-on-our-ubuntu/

作者:Simos Xenitellis 譯者:lujun9972 校對(duì):wxy

本文由 LCTT 原創(chuàng)編譯,Linux中國(guó) 榮譽(yù)推出


分享名稱:在Ubuntu上體驗(yàn)LXD容器
網(wǎng)站URL:http://m.5511xx.com/article/coepeej.html