From d078ff536ddffab98e8b97528cd04d010cdde7e3 Mon Sep 17 00:00:00 2001 From: Emily_LiuLiu Date: Fri, 18 Apr 2025 13:40:47 +0000 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9Bm?= =?UTF-8?q?arkdown=E6=A0=BC=E5=BC=8F=E9=97=AE=E9=A2=98=202=E3=80=81?= =?UTF-8?q?=E8=A7=84=E8=8C=83=E5=92=8C=E5=B8=B8=E8=A7=81=E9=94=99=E8=AF=AF?= =?UTF-8?q?=EF=BC=9A=E2=80=9Clibstoage=E2=80=9D=E5=BA=94=E4=B8=BA=E2=80=9C?= =?UTF-8?q?libstorage=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Emily_LiuLiu --- ...60\345\215\267\347\256\241\347\220\206.md" | 102 ++++++++++++------ 1 file changed, 67 insertions(+), 35 deletions(-) diff --git "a/docs/zh/docs/Container/\346\234\254\345\234\260\345\215\267\347\256\241\347\220\206.md" "b/docs/zh/docs/Container/\346\234\254\345\234\260\345\215\267\347\256\241\347\220\206.md" index 1831b9c30a..08aa964241 100644 --- "a/docs/zh/docs/Container/\346\234\254\345\234\260\345\215\267\347\256\241\347\220\206.md" +++ "b/docs/zh/docs/Container/\346\234\254\345\234\260\345\215\267\347\256\241\347\220\206.md" @@ -1,38 +1,38 @@ # 本地卷管理 - [本地卷管理](#本地卷管理) - - [概述](#概述) - - [注意事项](#注意事项) - - [使用方法](#使用方法) - - [使用-v参数挂载数据](#使用-v参数挂载数据) - - [**命令格式**](#命令格式) - - [**功能描述**](#功能描述) - - [**参数说明**](#参数说明) - - [**示例**](#示例) - - [使用--mount参数挂载数据](#使用--mount参数挂载数据) - - [**命令格式**](#命令格式-1) - - [**功能描述**](#功能描述-1) - - [**参数说明**](#参数说明-1) - - [**示例**](#示例-1) - - [复用其他容器中的挂载配置](#复用其他容器中的挂载配置) - - [**命令格式**](#命令格式-2) - - [**功能描述**](#功能描述-2) - - [**参数说明**](#参数说明-2) - - [**示例**](#示例-2) - - [使用镜像中的匿名卷](#使用镜像中的匿名卷) - - [卷的查询](#卷的查询) - - [**命令格式**](#命令格式-3) - - [**功能描述**](#功能描述-3) - - [**参数说明**](#参数说明-3) - - [**示例**](#示例-3) - - [卷的删除](#卷的删除) - - [**命令格式**](#命令格式-4) - - [**功能描述**](#功能描述-4) - - [**参数说明**](#参数说明-4) - - [**示例**](#示例-4) - - [注意事项](#注意事项-1) - - [冲突合并规则](#冲突合并规则) - - [iSula和Docker的差异](#isula和docker的差异) + - [概述](#概述) + - [注意事项](#注意事项) + - [使用方法](#使用方法) + - [使用-v参数挂载数据](#使用-v参数挂载数据) + - [**命令格式**](#命令格式) + - [**功能描述**](#功能描述) + - [**参数说明**](#参数说明) + - [**示例**](#示例) + - [使用--mount参数挂载数据](#使用--mount参数挂载数据) + - [**命令格式**](#命令格式-1) + - [**功能描述**](#功能描述-1) + - [**参数说明**](#参数说明-1) + - [**示例**](#示例-1) + - [复用其他容器中的挂载配置](#复用其他容器中的挂载配置) + - [**命令格式**](#命令格式-2) + - [**功能描述**](#功能描述-2) + - [**参数说明**](#参数说明-2) + - [**示例**](#示例-2) + - [使用镜像中的匿名卷](#使用镜像中的匿名卷) + - [卷的查询](#卷的查询) + - [**命令格式**](#命令格式-3) + - [**功能描述**](#功能描述-3) + - [**参数说明**](#参数说明-3) + - [**示例**](#示例-3) + - [卷的删除](#卷的删除) + - [**命令格式**](#命令格式-4) + - [**功能描述**](#功能描述-4) + - [**参数说明**](#参数说明-4) + - [**示例**](#示例-4) + - [注意事项](#注意事项-1) + - [冲突合并规则](#冲突合并规则) + - [iSula和Docker的差异](#isula和docker的差异) ## 概述 @@ -41,6 +41,7 @@ iSula 管理的容器销毁后,容器内自身所有的数据都会被销毁 本章介绍通过 iSula 管理本地卷的使用方法。 ## 注意事项 + - 卷名称长度2-64个字符,符合正则表达式:^[a-zA-Z0-9][a-zA-Z0-9_.-]{1,63}$,即卷名称首字符必须为字母或者数字,从第二个字符开始可以为字母、数字或者"_"、"."、"-"这几个字符。 - 创建容器时,如果卷对应的容器内的挂载点存在数据,则默认会拷贝到卷里。如果拷贝过程中出现了 iSula 崩溃重启或者系统掉电之类的异常,则卷内的数据可能是不完整的,这时需要手动删除卷或者卷内数据,确保数据的正确完整。 @@ -49,14 +50,17 @@ iSula 管理的容器销毁后,容器内自身所有的数据都会被销毁 ### 使用-v参数挂载数据 #### **命令格式** + ```shell isula run -v [SRC:]DST[:MODE,MODE...] IMAGE ``` #### **功能描述** + 使用 create / run 创建并运行容器时,使用 -v/--volume 参数将主机上的文件、目录或者卷挂载到容器内用于数据持久化。 #### **参数说明** + - SRC: 用于挂载的文件、目录或者卷在主机上的路径,当值为绝对路径时,表示挂载主机上的文件或者文件夹。当值为卷名时,表示挂载卷。当省略该项时,表示挂载匿名卷。当文件夹或者卷不存在时,iSula会先创建一个新的文件夹/卷,再进行挂载操作。 - DST: 容器内的挂载路径,必须为绝对路径。 - MODE: 当挂载的源是目录或者文件时,合法的参数是ro/rw/z/Z/private/rprivate/slave/rslave/shared/rshared。同类型的参数只能配置一个。当挂载的源是卷时,合法的参数是ro/rw/z/Z/nocopy,同类型的参数只能配置一个。多个属性之间使用","连接。参数含义如下: @@ -75,9 +79,10 @@ isula run -v [SRC:]DST[:MODE,MODE...] IMAGE | rshared | 容器内挂载点递归挂载为共享传播属性 | | nocopy | 不拷贝挂载点内的数据,该参数不进行配置时默认会拷贝数据。另外,如果卷里已经有数据了,也不会进行拷贝 | - #### **示例** + 基于 busybox 运行容器并创建/挂载名称为 vol 的卷到容器的 /vol 目录,同时配置挂载点为只读,并且如果容器中对应挂载点有数据也不进行拷贝。 + ```shell isula run -v vol:/vol:ro,nocopy busybox ``` @@ -85,14 +90,17 @@ isula run -v vol:/vol:ro,nocopy busybox ### 使用--mount参数挂载数据 #### **命令格式** + ```shell isula run --mount [type=TYPE,][src=SRC,]dst=DST[,KEY=VALUE] busybox ``` #### **功能描述** + 使用 create / run 创建并运行容器时,使用 --mount 参数将主机上的文件、目录、卷或者文件系统挂载到容器内用于数据持久化。 #### **参数说明** + - type: 挂载到容器中的数据的类型,类型可以是 bind、volume、squashfs、tmpfs, 省略该项时默认为volume类型。 - src: 用于挂载的文件、目录或者卷在主机上的路径。当值为绝对路径时,表示挂载主机上的文件或者目录。当值为卷名时,表示挂载卷。当省略该项时,表示匿名卷。当文件夹或者卷不存在时,iSula会先创建一个新的文件/卷,再进行挂载操作。该项的关键字 src 也可以写成 source。 - dst: 容器内的挂载路径,必须为绝对路径。该项的关键字 dst 也可以写成 destination 或者 target。 @@ -108,7 +116,9 @@ isula run --mount [type=TYPE,][src=SRC,]dst=DST[,KEY=VALUE] busybox | tmpfs-mode | 挂载tmpfs时指定挂载的权限,默认1777 | #### **示例** + 基于 busybox 运行容器并创建/挂载名称为 vol 的卷到容器的 /vol 目录,同时配置挂载点为只读,并且如果容器中对应挂载点有数据也不进行拷贝。 + ```shell isula run --mount type=volume,src=vol,dst=/vol,ro=true,volume-nocopy=true busybox ``` @@ -116,21 +126,26 @@ isula run --mount type=volume,src=vol,dst=/vol,ro=true,volume-nocopy=true busybo ### 复用其他容器中的挂载配置 #### **命令格式** + ```shell isula run --volumes-from CON1[:MODE] busybox ``` #### **功能描述** + 使用 create / run 创建并运行容器时,使用 --volumes-from 参数表示挂载点配置包括CON1容器的挂载点配置。可以配置多个 --volumes-from 参数。 #### **参数说明** + - CON1: 被复用挂载点的容器的名称或者ID。 - MODE: 值为ro表示复用的挂载点挂载为只读属性,值为rw表示复用的挂载点挂载为读写属性。 #### **示例** + 假设已经有名称为 container1 的容器配置了卷 vol1 到容器目录 /vol1,名称为 container2 的容器配置了卷 vol2 到容器目录 /vol2。现在运行一个新的容器复用 container1 和 container2 的挂载配置,即卷 vol1 挂载到容器的 /vol1 目录,vol2 挂载到容器的 /vol2 目录。 + ```shell -isula run --volumes-from container1 --volumes-from container2 busbyox +isula run --volumes-from container1 --volumes-from container2 busybox ``` ### 使用镜像中的匿名卷 @@ -140,19 +155,25 @@ isula run --volumes-from container1 --volumes-from container2 busbyox ### 卷的查询 #### **命令格式** + ```shell isula volume ls [OPTIONS] ``` #### **功能描述** + 查询 iSula 管理的所有卷。 #### **参数说明** + OPTIONS 可选参数: + - -q,--quiet: 如果不加这个参数,默认只会查询到卷的驱动信息和卷的名称,添加该参数表示只查询卷的名称。 #### **示例** + 查询 iSula 管理的所有卷,只返回卷名称。 + ```shell isula volume ls -q ``` @@ -160,25 +181,33 @@ isula volume ls -q ### 卷的删除 #### **命令格式** -``` + +```shell isula volume rm [OPTIONS] VOLUME [VOLUME...] isula volume prune [OPTIONS] ``` #### **功能描述** + - rm 命令:删除指定的卷,如果卷被容器使用了,则会删除失败。 - prune 命令:删除所有未被容器使用的卷。 #### **参数说明** + prune 命令的 OPTIONS 可选参数: + - -f,--force: 表示不弹出“确认是否要删除”的提示,默认会有风险提示,需要输入 y 才能继续执行。 #### **示例** + 删除卷 vol1 和卷 vol2 + ```shell isula volume rm vol1 vol2 ``` + 删除所有未被使用的卷,不弹出风险提示,格式如下: + ```shell isula volume prune -f ``` @@ -186,12 +215,15 @@ isula volume prune -f ### 注意事项 #### 冲突合并规则 + 如果卷的挂载点有冲突,则按照如下规则处理: + - -v 和 --mount 的配置冲突,则返回失败。 - --volumes-from 里获取的配置,如果和 -v/--mount 配置有冲突,则丢弃。 - 镜像中的匿名卷配置,如果和 -v/--mount/--volumes-from 配置有冲突,则丢弃。 #### iSula和Docker的差异 + | iSula行为 | Docker行为 | | ------------------------------------------- | ------------------------------------------- | | 卷名称最长64个字符 | 卷名称长度没有限制 | -- Gitee