Arbeiten mit Volumes
Sie können Volumes einfach erstellen, klonen und entfernen, indem Sie die Standard docker volume-Befehle mit dem angegebenen Trident-Treiber-Namen verwenden, wenn dies erforderlich ist.
Erstellen Sie ein Volumen
-
Erstellen Sie ein Volume mit einem Treiber unter Verwendung des Standardnamens:
docker volume create -d netapp --name firstVolume -
Erstellen Sie ein Volume mit einer bestimmten Trident Instanz:
docker volume create -d ntap_bronze --name bronzeVolumeWenn Sie keine "Optionen" angeben, werden die Standardeinstellungen des Treibers verwendet. -
Überschreiben Sie die Standardgröße des Volumes. Siehe folgendes Beispiel, um ein 20-GiB-Volume mit einem Treiber zu erstellen:
docker volume create -d netapp --name my_vol --opt size=20GDie Volume-Größen werden als Zeichenfolgen angegeben, die einen ganzzahligen Wert mit optionalen Einheiten enthalten (Beispiel: 10G, 20GB, 3TiB). Wenn keine Einheiten angegeben sind, ist der Standard G. Größeneinheiten können entweder als Zweierpotenzen (B, KiB, MiB, GiB, TiB) oder als Zehnerpotenzen (B, KB, MB, GB, TB) angegeben werden. Kurzschreibweisen verwenden Zweierpotenzen (G = GiB, T = TiB, …).
Ein Volume entfernen
-
Entfernen Sie das Volume genau wie jedes andere Docker-Volume:
docker volume rm firstVolumeBei Verwendung des solidfire-sanTreibers wird im obigen Beispiel das Volume gelöscht und bereinigt.
Führen Sie die folgenden Schritte aus, um Trident für Docker zu aktualisieren.
Ein Volume klonen
Bei Verwendung der ontap-nas, ontap-san und solidfire-san Speichertreiber kann Trident Volumes klonen. Bei Verwendung der ontap-nas-flexgroup oder ontap-nas-economy Treiber wird das Klonen nicht unterstützt. Das Erstellen eines neuen Volumes aus einem vorhandenen Volume führt zur Erstellung eines neuen Snapshots.
-
Untersuchen Sie das Volume, um Snapshots aufzuzählen:
docker volume inspect <volume_name> -
Erstellen Sie ein neues Volume aus einem vorhandenen Volume. Dadurch wird ein neuer Snapshot erstellt:
docker volume create -d <driver_name> --name <new_name> -o from=<source_docker_volume> -
Ein neues Volume aus einem vorhandenen Snapshot auf einem Volume erstellen. Dadurch wird kein neuer Snapshot erstellt:
docker volume create -d <driver_name> --name <new_name> -o from=<source_docker_volume> -o fromSnapshot=<source_snap_name>
Beispiel
docker volume inspect firstVolume
[
{
"Driver": "ontap-nas",
"Labels": null,
"Mountpoint": "/var/lib/docker-volumes/ontap-nas/netappdvp_firstVolume",
"Name": "firstVolume",
"Options": {},
"Scope": "global",
"Status": {
"Snapshots": [
{
"Created": "2017-02-10T19:05:00Z",
"Name": "hourly.2017-02-10_1505"
}
]
}
}
]
docker volume create -d ontap-nas --name clonedVolume -o from=firstVolume
clonedVolume
docker volume rm clonedVolume
docker volume create -d ontap-nas --name volFromSnap -o from=firstVolume -o fromSnapshot=hourly.2017-02-10_1505
volFromSnap
docker volume rm volFromSnap
Extern erstellte Volumes zugreifen
Auf extern erstellte Blockgeräte (oder deren Klone) können Container mit Trident nur zugreifen, wenn diese keine Partitionen haben und ihr Dateisystem von Trident unterstützt wird (zum Beispiel: ein ext4-formatiertes /dev/sdc1 wird nicht über Trident zugänglich sein).