---
author: Vivek Gite
category: 容器与云
comments_data: []
count:
  commentnum: 0
  favtimes: 1
  likes: 0
  sharetimes: 0
  viewnum: 4533
date: '2017-12-25 13:42:50'
editorchoice: false
excerpt: 当 LXD 在启动时运行，你就可以随时启动容器。你需要将 boot.autostart 设置为 true。
fromurl: https://www.cyberciti.biz/faq/how-to-auto-start-lxd-containers-at-boot-time-in-linux/
id: 9171
islctt: true
largepic: /images/p/201712/25/134247vu4yiw2jpk1akijw.jpg
permalink: /article-9171-1.html
pic: /images/p/201712/25/134247vu4yiw2jpk1akijw.jpg.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 当 LXD 在启动时运行，你就可以随时启动容器。你需要将 boot.autostart 设置为 true。
tags:
- LXD
- 容器
thumb: false
title: 如何在 Linux 启动时自动启动 LXD 容器
titlepic: true
translator: geekpi
updated: '2017-12-25 13:42:50'
---

![](/images/p/201712/25/134247vu4yiw2jpk1akijw.jpg)


**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

```

最后，通过设置最高值来定义启动容器的顺序。确保 db*vm 容器首先启动，然后再启动 nginx*vm。



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

```

使用[下面的 bash 循环在 Linux 上查看所有](https://www.cyberciti.biz/faq/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

```

示例输出：


![Fig.01: Get autostarting LXD containers values using a bash shell script](/images/p/201712/25/134251v6wmzhrrsj3cc82z.jpg)




---


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


作者：[Vivek Gite](https://www.cyberciti.biz) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出