Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

使用卷

贡献者

您可以使用标准命令以及根据需要指定的Trident驱动程序名称轻松创建、克隆和删除卷 docker volume

创建卷

  • 使用默认名称创建包含驱动程序的卷:

    docker volume create -d netapp --name firstVolume
  • 创建具有特定Trident实例的卷:

    docker volume create -d ntap_bronze --name bronzeVolume
    备注 如果未指定任何 "选项",将使用驱动程序的默认值。
  • 覆盖默认卷大小。要使用驱动程序创建 20GiB 卷,请参见以下示例:

    docker volume create -d netapp --name my_vol --opt size=20G
    提示 卷大小以字符串表示,该字符串包含一个包含可选单元的整数值(例如: 10 G , 20 GB , 3 TiB )。如果未指定单位,则默认值为 G大小单位可以表示为 2 的幂( B , KiB , MIB , GiB , TiB )或 10 的幂( B , KB , MB , GB , TB )。速率单位使用 2 的电流( G = GiB , T = TiB ,…)。

删除卷

  • 像删除任何其他 Docker 卷一样删除此卷:

    docker volume rm firstVolume
    重要说明 使用 solidfire-san 驱动程序时,上述示例将删除并清除卷。

执行以下步骤升级适用于Docker的Trident。

克隆卷

使用 ontap-nas、、 ontap-san solidfire-san`和 `gcp-cvs storage drivers`时,Trident可以克隆卷。使用或 `ontap-nas-economy`驱动程序时 `ontap-nas-flexgroup、不支持克隆。从现有卷创建新卷将创建新快照。

  • 检查卷以枚举快照:

    docker volume inspect <volume_name>
  • 从现有卷创建新卷。这将导致创建新快照:

    docker volume create -d <driver_name> --name <new_name> -o from=<source_docker_volume>
  • 从卷上的现有快照创建新卷。此操作不会创建新快照:

    docker volume create -d <driver_name> --name <new_name> -o from=<source_docker_volume> -o fromSnapshot=<source_snap_name>

示例

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

访问外部创建的卷

如果容器没有分区、并且Trident支持其文件系统、则您可以使用Trident *仅*通过容器访问外部创建的块设备(或其克隆)(例如、 ext4`无法通过Trident访问格式化的 `/dev/sdc1)。