LXC LXD Commands (v2.x)

LXC & LXD: Befehle & Anwendungsbeispiele

Navigation

LXD

LXD Installation und Konfiguration überprüfen:

lxc info
lxc config show

Remotes

Der default Remote ist local: und muss somit nicht angegeben werden. Der default Remote kann aber auch geändert werden mit lxc remote set-default <remote>

+-----------------+------------------------------------------+---------------+--------+--------+
| local (Vorgabe) | unix://                                  | lxd           | NEIN   | JA     |
+-----------------+------------------------------------------+---------------+--------+--------+ 

Alle Remotes auflisten:

lxc remote list
+-----------------+------------------------------------------+---------------+--------+--------+
|      NAME       |                 ADRESSE                  |   PROTOCOL    | PUBLIC | STATIC |
+-----------------+------------------------------------------+---------------+--------+--------+
| images          | https://images.linuxcontainers.org       | simplestreams | JA     | NEIN   |
+-----------------+------------------------------------------+---------------+--------+--------+
| local (Vorgabe) | unix://                                  | lxd           | NEIN   | JA     |
+-----------------+------------------------------------------+---------------+--------+--------+
| ubuntu          | https://cloud-images.ubuntu.com/releases | simplestreams | JA     | JA     |
+-----------------+------------------------------------------+---------------+--------+--------+
| ubuntu-daily    | https://cloud-images.ubuntu.com/daily    | simplestreams | JA     | JA     |
+-----------------+------------------------------------------+---------------+--------+--------+

Hinzufügen eines neuen Remotes:

lxc remote add [<remote>] <IP|FQDN|URL>

Entfernen eines Remotes:

lxc remote remove <remote>

Default Remote ändern:

lxc remote set-default ubuntu

Profiles

Profile auslisten:

lxc profile list

"default" Profil anschauen:

lxc profile show default

Profil löschen:

lxc profile delete <profile>

Beispiel: Mit Konfigurationsdatei config.yml ein neues lxc profile erstellen.

Es ist nicht möglich "direkt" ein neues profile zu erstellen mit einer Konfigurationsdatei. Nur lxc profile edit <profile> liest von STDIN. Es muss zuerst ein leeres profile erstellt werden.

Leeres profile erstellen:

> lxc profile create myprofile
Profile myprofile created
> lxc profile show myprofile
config: {}
description: ""
devices: {}
name: myprofile
used_by: []

Beispiel config.yml Inhalt:

name: myprofile
config:
  limits.cpu: "2"
  limits.memory: 2GB
description: "My LXD profile description"
devices:
  eth0:
    nictype: bridged
    parent: br0
    type: nic
  root:
    path: /
    pool: lxd_pool
    size: 5GB
    type: disk

Profile "myprofile" konfigurieren mit config.yml

cat config.yml | lxc profile edit myprofile

Profile überprüfen:

> lxc profile show myprofile
config:
  limits.cpu: "2"
  limits.memory: 2GB
description: My LXD profile description
devices:
  eth0:
    nictype: bridged
    parent: br0
    type: nic
  root:
    path: /
    pool: lxd_pool
    size: 5GB
    type: disk
name: myprofile
used_by: []

Images

Alle lokalen images auflisten:

lxc image list

Image von einem Remote nach lokal kopieren:

> lxc image copy ubuntu:16.04 local: --alias myX
Image copied successfully!

Images können mehrere Aliasse besitzen. Ein Beispiel mit dem ALIAS Eintrag von myX (1 more) beim auflisten der lokalen Images:

+--------------+---------------+--------+---------------------------------------------+--------+----------+------------------------------+
|    ALIAS     | FINGERABDRUCK | PUBLIC |                BESCHREIBUNG                 |  ARCH  |  GRÖßE   |        HOCHLADEDATUM         |
+--------------+---------------+--------+---------------------------------------------+--------+----------+------------------------------+
| myX (1 more) | 03c2fa6716b5  | Nein   | ubuntu 16.04 LTS amd64 (release) (20170919) | x86_64 | 156.13MB | Sep 21, 2017 at 5:20am (UTC) |
+--------------+---------------+--------+---------------------------------------------+--------+----------+------------------------------+
...

Alias auflisten

lxc image alias list

Alias auflisten für remotes

lxc image alias list ubuntu:

Containers

Init

Container erstellen ohne diesen zu starten.
Gleicher Befehl wie "lxc launch" mit identischen Optionen. Einziger Unterschied: Container wird nicht gestartet.

lxc init ubuntu:16.04 u1

Launch

Neuen Container erstellen und starten.
Gleicher Befehl wie "lxc init" mit identischen Optionen. Einziger Unterschied: Container wird gestartet.

lxc launch ubuntu:16.04 con01

Restart

Container neustarten.

lxc restart con01

Versionen

Alle Befehle und Anwendungsbeispiele sind getestet mit Version:

lxc --version
2.17

lxd --version
2.17

Sonstiges

  • Ändern des Standard Editors für die lxc <command> edit <stuff> Befehle:
    update-alternatives --config editor

Interessante Links

Hinweis

Die Seite ist noch nicht vollständig und wird von Zeit zu Zeit aktualisiert. Falls ihr etwas beitragen möchtet, kontaktiert mich via Twitter.
Für die hier dargebotenen Information und Anleitungen besteht kein Anspruch auf Vollständigkeit, Aktualität und Richtigkeit