在下一篇文章中,我們將研究LXD容器。 某個時間之前,一位同事已經在此博客上談到了它們。 在 那篇文章 我已經說清楚了 這些容器因各種原因而有用。 它們將應用程序與系統的其餘部分隔離開來,它們是可移植的,易於克隆和/或遷移到其他操作系統。 對於Gnu / Linux, 它們在任何發行版中的工作方式都相同,無需進行任何修改。
碼頭工人 是一種流行的解決方案,旨在包含單個應用程序,例如MySQL數據庫服務器。 LXD在某些方面是相似的,但是 設計為包含完整的操作系統。 LXD不會虛擬化像 QEMU o VirtualBox的。 這意味著它非常快,並且提供了接近本機的執行速度。
作為使用示例,我們可以創建一個LXD容器,安裝一個數據庫服務器和一個http服務器。 在那裡,我們將可以使用WordPress創建一個網站,並且如果需要,我們可以簡單地通過在必要時移動此LXD容器來從一個雲更改另一個雲。 由於容器易於克隆,因此您的網站甚至可以上傳到多個雲提供商,以創建冗餘且高度可用的設置。
安裝和配置LXD
要安裝LXD,您只需要打開一個終端(Ctrl + Alt + T)並安裝即可。 更重要的是 我們還可以安裝ZFS實用程序。 這些將幫助我們加快某些操作的速度並節省使用容器時的磁盤空間。
sudo apt install zfsutils-linux lxd
至 啟動LXD配置在同一終端中,我們編寫:
sudo lxd init
在這裡我們可以按 簡介 選擇默認值。
查找並啟動LXD分發映像
至 查看Ubuntu映像列表在終端中,我們這樣寫:
lxc image list ubuntu: arch=amd64|head
它可以 如果您需要其他架構的映像,則忽略arch = amd64。 在上圖中,結果受到限制(與| 頭),使其更易於閱讀。
如您在上面的屏幕截圖中所見,Ubuntu 18.04(dcbc8e3e5c2e)我將其突出顯示。 如果你感興趣 從那個發行版開始一個容器,你應該使用那個足跡。 要執行的命令是:
lxc launch ubuntu:dcbc8e3e5c2e
管理LXD容器
至 列出所有創建的容器,您只需要編寫:
lxc list
脊柱IPV4如果您在該實例上運行任何服務,則尤其重要。 例如,如果您正在運行Apache http服務器, 編寫IP時10.191.112.88“容器中託管的網站將顯示在瀏覽器中.
至 停止一個容器,您只需要編寫:
lxc stop nombre-contenedor
這可能會花費很長時間,或者使用非Ubuntu發行版可能會失敗。 如果發生這種情況,您可以隨時使用 系統關機 阻止它。
如果其他所有方法都失敗了,您可以 強制停止 使用:
lxc stop nombre-contenedor --force
至 從一個容器開始 寫:
lxc start nombre-contenedor
如果你想 在容器內移動, 跑:
lxc shell nombre-contenedor
裡面的容器 您可以使用“sudo apt安裝',然後在普通的Gnu / Linux發行版上執行其他操作,例如,設置Apache服務器。
任何時間 離開容器,只需輸入:
exit
向/從LXD容器傳輸文件
至 將文件上傳到您的容器,請使用以下語法:
lxc file push /ruta/al/archivo/local/nombre-archivo nombre-contenedor/ruta/al/archivo/subido/nombre-archivo
包括將要創建的文件的名稱,而不僅僅是要保留文件的目錄。
至 加載目錄 而不是文件:
lxc file push /ruta/al/directorio nombre-contenedor/ruta/al/directorio/remoto --recursive --verbose
至 將目錄從容器下載到您的操作系統 主要:
lxc file pull nombre-contenedor/ruta/al/directorio/remoto ruta/al/directorio --recursive --verbose
這涵蓋了 LXD容器的基本用途。 有更多高級功能,例如快照,對CPU和RAM等資源的限制,克隆容器等。 所有這些以及更多內容都可以在 官方文件,在 項目網站 或在您的頁面上 GitHub上.