Container & Images

Dieser Abschnitt beschäftigt sich mit dem Management der Images und der Container. Mehr zum Thema siehe auch: LXD 2.0: Image management

Auflisten der Container

$ lxc list

NAME

STATE

IPV4

IPV6

TYPE

SNAPSHOTS

Auflisten der Images

$ lxc image list

ALIAS

FINGERPRINT

PUBLIC

DESCRIPTION

ARCH

SIZE

UPLOAD DATE

Auflisten Remote Images

z.B. von https://images.linuxcontainers.org (s.o):

$ lxc image list images:

Den Doppelpunkt am Ende des Remote-Alias images: darf man nicht vergessen, er zeigt an, dass man sich auf den Remote bezieht. Als Ausgabe erhält man eine Tabelle wie die folgende:

ALIAS

FINGERPRINT

PUBLIC

DESCRIPTION

ARCH

SIZE

UPLOAD DATE

alpine/edge

ed1bb9487366

yes

Alpine edge

x86_64

1.72MB

Sep 6, 2017

Im Folgendem ein paar Beispiele bei denen das alpine/edge Image mit dem Fingerprint ed1bb9487366 verwendet wird. Ich habe das Image nur deswegen ausgewählt, weil es sich mit seiner Größe von nur ca. 2MB schnell kopieren lässt. Getestet hab ich das System in dem Image jedoch nicht und das Beispiel hier soll auch keine Empfehlung für dieses Image sein.

Infos zu einem Image

$ lxc image info images:alpine/edge
Fingerprint: ed1bb94873666a03e9af29d76274134ad9566fab8d90dfe7f9d9e8bc2de12313
Size: 1.72MB
Architecture: x86_64
Public: yes
Timestamps:
    Created: 2017/09/06 00:00 UTC
...

Starten eines Containers aus einem Image

$ lxc launch images:alpine/edge alpine-test
Creating alpine-test
Starting alpine-test

und jetzt müsste der Container alpine-test in der Liste erscheinen:

$ lxc list

NAME

STATE

IPV4

IPV6

TYPE

SNAPSHOTS

alpine-test

RUNNING

10.20.203.71 (eth0)

PERSISTENT

0

Stoppen eines Containers

$ lxc stop alpine-test

Löschen eines Containers

$ lxc delete alpine-test

Anzeigen der lokalen Images

Beim Starten des Containers mit lxc launch images:alpine/edge wurde das Image mit dem Fingerprint ed1bb9487366 vom Remote images: geclonet und in das lokale LXD kopiert.

$ lxc image list

ALIAS

FINGERPRINT

PUBLIC

DESCRIPTION

ARCH

SIZE

UPLOAD DATE

ed1bb9487366

no

Alpine edge …

x86_64

1.72MB

Sep 7, 2017 at 4:03pm (UTC)

Alias Namen für Images

Ein Image kann über seinen Fingerprint adressiert werden, alternativ können aber auch noch Alias-Namen vergeben werden (Image-Alias):

$ lxc image alias create alpine-edge ed1bb9487366

Es können mehrere Alias-Namen vergeben werden. Über welche Alias-Namen ein FINGERPRINT verfügt kann man sich z.B. mit image info anzeigen lassen. Im folgendem Beispiel wird eines der Remote Images vom ubuntu Image-Server mit den Ubuntu Cloud Images abgefragt:

$ lxc image info images:ubuntu/artful
Fingerprint: 3fa086e1908dec89f46b9ff34283032419abc3c42c9791be81efa4aa01a29768
Size: 92.70MB
Architecture: x86_64
Public: yes
Timestamps:
  Created: 2017/09/08 00:00 UTC
  Uploaded: 2017/09/08 00:00 UTC
  Expires: never
  Last used: never
Properties:
  serial: 20170908_03:49
  description: Ubuntu artful amd64 (20170908_03:49)
  os: Ubuntu
  release: artful
  architecture: amd64
Aliases:
  - ubuntu/artful/default
  - ubuntu/artful/default/amd64
  - ubuntu/artful
  - ubuntu/artful/amd64
Auto update: disabled

Es ist auch möglich die Alias-Namen der Images des lokalen Image-Severs anzuzeigen:

$ lxc image alias list
+---------+--------------+-------------+
|  ALIAS  | FINGERPRINT  | DESCRIPTION |
+---------+--------------+-------------+
| ubu1710 | 3fa086e1908d | ubu1710     |
+---------+--------------+-------------+

Letzteres listet die Alias-Namen des lokalen Image-Servers, für einen Remote ist die Abfrage analog mit Name + Doppelpunkt am Ende:

$ lxc image alias list ubuntu:

Löschen eines Images

Das zu löschende Image kann über seinen Namen (Image-Alias) oder explizit über seinen Fingerprint adressiert werden:

$ lxc image delete ed1bb9487366

Import Image von Remote

Importieren (pull) eines Image von einem anderem Image-Server:

$ lxc image copy images:ubuntu/artful local: --alias ubu1710

Anschließend müsste das Image ubu1710 in der Liste der lokalen Images auftauchen:

$ lxc image alias list

ALIAS

FINGERPRINT

DESCRIPTION

ubu1710

3fa086e1908d

ubu1710