Linux中國

如何在 Linux 啟動時自動啟動 LXD 容器

Q:我正在使用基於 LXD(「Linux 容器」)的虛擬機。如何在 Linux 系統中啟動時自動啟動 LXD 容器

LXD 在啟動時運行,你就可以隨時啟動容器。你需要將 boot.autostart 設置為 true。你可以使用 boot.autostart.priority(默認值為 0)選項來定義啟動容器的順序(從最高開始)。你也可以使用 boot.autostart.delay(默認值 0)選項定義在啟動一個容器後等待幾秒後啟動另一個容器。

語法

上面討論的關鍵字可以使用 lxc 工具用下面的語法來設置:

$ lxc config set {vm-name} {key} {value}
$ lxc config set {vm-name} boot.autostart {true|false}
$ lxc config set {vm-name} boot.autostart.priority integer
$ lxc config set {vm-name} boot.autostart.delay integer

如何在 Ubuntu Linux 16.10 中讓 LXD 容器在啟動時啟動?

輸入以下命令:

$ lxc config set {vm-name} boot.autostart true

設置一個 LXD 容器名稱 「nginx-vm」 以在啟動時啟動

$ lxc config set nginx-vm boot.autostart true

你可以使用以下語法驗證設置:

$ lxc config get {vm-name} boot.autostart
$ lxc config get nginx-vm boot.autostart

示例輸出:

true

你可以使用下面的語法在啟動容器後等待 10 秒鐘後啟動另一個容器:

$ lxc config set nginx-vm boot.autostart.delay 10

最後,通過設置最高值來定義啟動容器的順序。確保 dbvm 容器首先啟動,然後再啟動 nginxvm。

$ lxc config set db_vm boot.autostart.priority 100
$ lxc config set nginx_vm boot.autostart.priority 99

使用下面的 bash 循環在 Linux 上查看所有配置值:

#!/bin/bash
echo 'The current values of each vm boot parameters:'
for c in db_vm nginx_vm memcache_vm
do
    echo "*** VM: $c ***"
    for v in boot.autostart boot.autostart.priority boot.autostart.delay
    do
        echo "Key: $v => $(lxc config get $c $v) "
    done
    echo ""
done

示例輸出:

Fig.01: Get autostarting LXD containers values using a bash shell script

via: https://www.cyberciti.biz/faq/how-to-auto-start-lxd-containers-at-boot-time-in-linux/

作者:Vivek Gite 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國