Как автоматически запускать контейнеры LXD во время загрузки в Linux

Я использую виртуальную машину LXD («Linux container»). Как настроить контейнер LXD таким образом, чтобы он запускался при загрузке операционной системе Linux?

Вы всегда можете сделать так, чтобы контейнер запускался, когда 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

Как настроить контейнер LXD для запуска при загрузке в Ubuntu Linux 16.10?

Введите следующую команду:

$ 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

Наконец, определите порядок запуска контейнеров, установив приоритет, начиная с наивысшего значением. Убедитесь, что контейнер db_vm запускается первым, а затем запускается nginx_vm

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

Используйте следующий bash for loop для 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

Примеры возможных выводов данных:

Как автоматически запускать контейнеры LXD во время загрузки в Linux
Рисунок 01: Автозапуск значений LXD контейнеров с помощью сценария оболочки bash

Перевод: Анна Давыдова
Источник: cyberciti.biz

Это интересно:

Оставьте комментарий