在Linux中如何在启动时自动启动LXD容器VM
时间:2020-01-09 14:16:51 来源:igfitidea点击:
如何设置LXD容器以使用lxc命令在Linux操作系统中启动时启动?
当LXD启动时,我们总是可以启动容器。
您所要做的只是将boot.autostart设置为true。
您可以使用boot.autostart.priority(默认值为0)选项定义启动容器的顺序(从高位开始)。
接下来,我们可以使用boot.autostart.delay选项定义容器启动后等待下一个秒数,以启动下一个容器。
本教程说明如何在启动时使用lxc命令自动启动LXD容器。
使用lxc命令自动启动LXD容器VM的语法
可以使用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
在Linux上使用以下bash for loop查看所有值:
#!/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
输出示例:
使用bash shell脚本获取自动启动的LXD容器值
另一种方法是使用以下方法获取所有lxd VM
#!/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