Trabalhar com volumes
Você pode criar, clonar e remover volumes facilmente usando os comandos padrão docker volume com o nome do driver Trident especificado quando necessário.
Criar um volume
-
Crie um volume com um driver usando o nome padrão:
docker volume create -d netapp --name firstVolume -
Crie um volume com uma instância específica do Trident:
docker volume create -d ntap_bronze --name bronzeVolumeSe você não especificar nenhum "opções", os padrões do driver serão usados. -
Substitua o tamanho de volume padrão. Veja o exemplo a seguir para criar um volume de 20 GiB com um driver:
docker volume create -d netapp --name my_vol --opt size=20GOs tamanhos de volume são expressos como strings contendo um valor inteiro com unidades opcionais (exemplo: 10G, 20GB, 3TiB). Se nenhuma unidade for especificada, o padrão é G. As unidades de tamanho podem ser expressas como potências de 2 (B, KiB, MiB, GiB, TiB) ou potências de 10 (B, KB, MB, GB, TB). Unidades abreviadas usam potências de 2 (G = GiB, T = TiB, …).
Remover um volume
-
Remova o volume da mesma forma que qualquer outro volume do Docker:
docker volume rm firstVolumeAo usar o solidfire-sandriver, o exemplo acima exclui e limpa o volume.
Execute as etapas abaixo para atualizar o Trident para Docker.
Clonar um volume
Ao usar os ontap-nas, ontap-san e solidfire-san drivers de storage, Trident pode clonar volumes. Ao usar os ontap-nas-flexgroup ou ontap-nas-economy drivers, a clonagem não é suportada. Criar um novo volume a partir de um volume existente resultará na criação de um novo snapshot.
-
Inspecione o volume para enumerar snapshots:
docker volume inspect <volume_name> -
Crie um novo volume a partir de um volume existente. Isso resultará na criação de um novo snapshot:
docker volume create -d <driver_name> --name <new_name> -o from=<source_docker_volume> -
Crie um novo volume a partir de um snapshot existente em um volume. Isso não criará um novo snapshot:
docker volume create -d <driver_name> --name <new_name> -o from=<source_docker_volume> -o fromSnapshot=<source_snap_name>
Exemplo
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
Acessar volumes criados externamente
Você pode acessar dispositivos de bloco criados externamente (ou seus clones) por contêineres usando Trident somente se eles não tiverem partições e se o sistema de arquivos for compatível com Trident (por exemplo: um ext4 formatado /dev/sdc1 não será acessível via Trident).