如何设置在Linux启动时自动启动LXD容器

时间:2019-11-20 08:53:40  来源:igfitidea点击:

如何设置LXD容器在系统启动时自启动?
如何在系统重启时,自动启动容器虚拟机?

解决方案

需要将容器的boot.autostart设置为true。
boot.autostart.priority(默认值为0)选项定义启动容器的顺序。
boot.autostart.delay选项定义容器启动后等待的秒数。

使用lxc命令自动启动LXD容器

语法如下:

$ 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

设置在容器启动后等待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

查看所有LXD虚拟机的设置:

#!/bin/bash
x=$(lxc list -c n | awk '{ print }'  | sed -e '/^$/d' -e '/^NAME/d')
echo 'The current values of each vm boot parameters:'
for c in $x
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