如何在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
示例输出:
相关推荐
xiaoying 2020-09-28
JackZhou 2020-08-01
vipiter 2020-06-06
changecan 2020-05-26
兰海泽 2020-02-18
dusuanyun 2015-08-15
CoderBoy 2019-11-03
JackZhou 2017-05-04
容器技术爱好者 2016-03-01
jinriit 2015-07-07
breezegao 2019-06-30
rually 2019-06-30
LucisCaelum 2015-08-15
有瑕疵的老兵 2015-06-24
石羊 2019-06-28
admin 2019-06-28
haniux 2018-09-09
PinGoole 2017-08-04
shiqiangdexin 2015-04-10