port_map
|
-struct
+ | struct
|
-可选
+ | 可选
|
-NAT类型网络中,支持容器端口发布至主机端口。
+ | NAT类型网络中,支持容器端口发布至主机端口。
"port_map": [
{
"local_port": number,
@@ -844,41 +840,41 @@
**表 3** CNI多网络配置参数
-参数
+参数
|
-类型
+ | 类型
|
-是否可选
+ | 是否可选
|
-说明
+ | 说明
|
-cniVersion
+ | cniVersion
|
-string
+ | string
|
-必选
+ | 必选
|
-CNI版本号,当前只支持0.3.0,0.3.1。
+ | CNI版本号,当前只支持0.3.0,0.3.1。
|
-name
+ | name
|
-string
+ | string
|
-必选
+ | 必选
|
-网络名称,由用户自定义,需保证唯一。
+ | 网络名称,由用户自定义,需保证唯一。
|
-plugins
+ | plugins
|
-struct
+ | struct
|
-必选
+ | 必选
|
-具体配置请参见表1 CNI单网络配置参数。
+ | 具体配置请参见表1 CNI单网络配置参数。
|
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\344\275\277\347\224\250\346\214\207\345\215\227.md" b/docs/zh/docs/container_engine/isula_container_engine/application_scenarios.md
similarity index 35%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\344\275\277\347\224\250\346\214\207\345\215\227.md"
rename to docs/zh/docs/container_engine/isula_container_engine/application_scenarios.md
index 8a9147aa3754ec51b829cc39be0d568921c3c9bb..93f2b26a314ab35ff6d2e65d15f8ca53b56cba3f 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\344\275\277\347\224\250\346\214\207\345\215\227.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/application_scenarios.md
@@ -1,5 +1,6 @@
# 使用指南
本章介绍iSula容器引擎的使用方法。
-> **说明:**
->iSulad的所有使用操作均需要使用root权限。
+
+> !![NOTE]说明
+> iSulad的所有使用操作均需要使用root权限。
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\345\201\245\345\272\267\347\212\266\346\200\201\346\243\200\346\237\245.md" b/docs/zh/docs/container_engine/isula_container_engine/checking_the_container_health_status.md
similarity index 94%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\345\201\245\345\272\267\347\212\266\346\200\201\346\243\200\346\237\245.md"
rename to docs/zh/docs/container_engine/isula_container_engine/checking_the_container_health_status.md
index 4901650f20be00808efa0e3b27762bd86ddf75d9..c217b43f6bc904f826b46d12ee4b64e1f4fba1d0 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\345\201\245\345\272\267\347\212\266\346\200\201\346\243\200\346\237\245.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/checking_the_container_health_status.md
@@ -1,11 +1,5 @@
# 容器健康状态检查
-- [容器健康状态检查](#容器健康状态检查)
- - [场景说明](#场景说明)
- - [配置方法](#配置方法)
- - [检查规则](#检查规则)
- - [使用限制](#使用限制)
-
## 场景说明
在实际的生产环境中,开发者提供的应用程序或者平台提供的服务难免存在bug,因此,一套管理系统对运行的应用程序进行周期性的健康检查和修复就是不可或缺的。容器健康检查机制便添加了用户定义的对容器进行健康检查的功能。在容器创建时配置\--health-cmd选项,在容器内部周期性地执行命令,通过命令的返回值来监测容器的健康状态。
@@ -14,7 +8,7 @@
在容器启动时的配置:
-```bash
+```sh
isula run -itd --health-cmd "echo iSulad >> /tmp/health_check_file || exit 1" --health-interval 5m --health-timeout 3s --health-exit-on-unhealthy busybox bash
```
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\347\256\241\347\220\206.md" b/docs/zh/docs/container_engine/isula_container_engine/container_management.md
similarity index 99%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\347\256\241\347\220\206.md"
rename to docs/zh/docs/container_engine/isula_container_engine/container_management.md
index 4130f041b3829ae8168005309b43c735291be0f9..3101c3a634e2fab995d3b173f832caa18742a24e 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\347\256\241\347\220\206.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/container_management.md
@@ -8,7 +8,7 @@ isula create 命令用于创建一个新的容器。容器引擎会使用指定
### 用法
-```bash
+```sh
isula create [OPTIONS] IMAGE [COMMAND] [ARG...]
```
@@ -475,7 +475,7 @@ create命令支持参数参考下表。
创建一个新容器
-```bash
+```sh
# isula create busybox
fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
# isula ps -a
@@ -491,7 +491,7 @@ isula start命令用于启动一个或多个容器。
### 用法
-```bash
+```sh
isula start [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -538,7 +538,7 @@ start命令支持参数参考下表。
启动一个新容器
-```bash
+```sh
# isula start fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
```
@@ -550,7 +550,7 @@ isula run命令命令用于创建一个新的容器。会使用指定的容器
### 用法
-```bash
+```sh
isula run [OPTIONS] ROOTFS|IMAGE [COMMAND] [ARG...]
```
@@ -1030,7 +1030,7 @@ run命令支持参数参考下表。
- 使用-it参数时,由于容器启动时会对/dev/ptmx设备进行删除重建,因此请勿将/dev目录挂载至容器/dev目录,应使用--device对/dev下的设备再容器中进行挂载。
- 禁止使用echo的方式向run命令的stdin输入数据,会导致客户端卡死。应该直接将echo的值作为命令行参数传给容器
- ```bash
+ ```sh
# echo ls | isula run -i busybox /bin/sh
@@ -1042,7 +1042,7 @@ run命令支持参数参考下表。
正确的执行方式为:
- ```bash
+ ```sh
# isula run -i busybox ls
bin
dev
@@ -1081,19 +1081,18 @@ run命令支持参数参考下表。
- >  **须知:**
- > 第一种情况,先挂载/home/test1,然后挂载/home/test2,这种情况会导致/home/test1的内容覆盖掉原来/mnt下面的内容,这样可能导致/mnt下面不存在abc目录,这样会导致挂载/home/test2到/mnt/abc失败。
- > 第二种情况,先挂载/home/test2,然后挂载/home/test1。这种情况,第二次的挂载会把/mnt的内容替换为/home/test1的内容,这样第一次挂载的/home/test2到/mnt/abc的内容就看不到了。
- > 因此,不支持第一种使用方式;第二种使用用户需要了解这种数据无法访问的风险
+ >![WARNING]注意
+ >第一种情况,先挂载/home/test1,然后挂载/home/test2,这种情况会导致/home/test1的内容覆盖掉原来/mnt下面的内容,这样可能导致/mnt下面不存在abc目录,这样会导致挂载/home/test2到/mnt/abc失败。
+ >第二种情况,先挂载/home/test2,然后挂载/home/test1。这种情况,第二次的挂载会把/mnt的内容替换为/home/test1的内容,这样第一次挂载的/home/test2到/mnt/abc的内容就看不到了。
+ >因此,不支持第一种使用方式;第二种使用用户需要了解这种数据无法访问的风险
- 请谨慎配置/sys和/proc目录可写。/sys和/proc目录包含了linux维护内核参数、设备管理的接口,容器中配置该目录可写可能会导致容器逃逸。
- 请谨慎配置容器与host共享namespace。比如—pid,--ipc, --uts,--net配置该参数为容器和host共享namespace空间,容器和host的namespace隔离没有了,在容器中可对host进行攻击。比如,使用—pid 和host共享pid namespace,容器中可以看到host上的进程pid号,可以随意杀死host的进程。
- 请谨慎配置使用--device、-v 等可以挂载主机资源的参数,请勿将host的敏感目录或者设备,映射到容器中,以防止敏感信息泄漏。
- 请谨慎使用--privileged选项启动容器,--privileged选项会导致容器权限过大,影响宿主机配置。
- >  **须知:**
- > 高并发场景(并发启动200容器)下,glibc的内存管理机制会导致内存空洞以及虚拟内存较大(例如10GB)的问题。该问题是高并发场景下glibc内存管理机制的限制,而不是内存泄露,不会导致内存消耗无限增大。可以通过设置MALLOC\_ARENA\_MAX环境变量来减少虚拟内存的问题,而且可以增大减少物理内存的概率。但是这个环境变量会导致iSulad的并发性能下降,需要用户根据实际情况做配置。
- >
+ >![WARNING]注意
+ >- 高并发场景(并发启动200容器)下,glibc的内存管理机制会导致内存空洞以及虚拟内存较大(例如10GB)的问题。该问题是高并发场景下glibc内存管理机制的限制,而不是内存泄露,不会导致内存消耗无限增大。可以通过设置MALLOC\_ARENA\_MAX环境变量来减少虚拟内存的问题,而且可以增大减少物理内存的概率。但是这个环境变量会导致iSulad的并发性能下降,需要用户根据实际情况做配置。
> 参考实践情况,平衡性能和内存,可以设置MALLOC_ARENA_MAX为4。(在arm64服务器上面对iSulad的性能影响在10%以内)
> 配置方法:
> 1. 手动启动iSulad的场景,可以直接export MALLOC_ARENA_MAX=4,然后再启动iSulad即可。
@@ -1103,7 +1102,7 @@ run命令支持参数参考下表。
运行一个新容器
-```bash
+```sh
# isula run -itd busybox
9c2c13b6c35f132f49fb7ffad24f9e673a07b7fe9918f97c0591f0d7014c713b
```
@@ -1116,7 +1115,7 @@ isula stop命令用于停止一个或多个运行中的容器。首先向容器
### 用法
-```bash
+```sh
isula stop [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -1184,7 +1183,7 @@ stop命令支持参数参考下表。
停止一个容器
-```bash
+```sh
# isula stop fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
```
@@ -1197,7 +1196,7 @@ isula kill命令用于强制停止一个或多个运行中的容器。
### 用法
-```bash
+```sh
isula kill [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -1244,7 +1243,7 @@ kill命令支持参数参考下表。
杀掉一个容器
-```bash
+```sh
# isula kill fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
```
@@ -1257,7 +1256,7 @@ isula rm命令用于删除一个或多个容器。
### 用法
-```bash
+```sh
isula rm [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -1313,7 +1312,7 @@ rm命令支持参数参考下表。
删除一个停止状态的容器
-```bash
+```sh
# isula rm fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
```
@@ -1326,7 +1325,7 @@ isula attach命令用于将当前终端的标准输入、标准输出和标准
### 用法
-```bash
+```sh
isula attach [OPTIONS] CONTAINER
```
@@ -1373,7 +1372,7 @@ attach命令支持参数参考下表。
接入一个运行状态的容器
-```bash
+```sh
# isula attach fd7376591a9c3d8ee9a14f5d2c2e5255b02cc44cddaabca82170efd4497510e1
/ #
/ #
@@ -1387,7 +1386,7 @@ isula rename命令用于重命名容器。
### 用法
-```bash
+```sh
isula rename [OPTIONS] OLD_NAME NEW_NAME
```
@@ -1430,7 +1429,7 @@ rename命令支持参数参考下表。
重命名一个容器
-```bash
+```sh
# isula rename my_container my_new_container
```
@@ -1442,7 +1441,7 @@ isula exec命令用于正在运行的容器中运行一个新命令。新执行
### 用法
-```bash
+```sh
isula exec [OPTIONS] CONTAINER COMMAND [ARG...]
```
@@ -1526,9 +1525,11 @@ exec命令支持参数参考下表。
2. 进入容器后,执行 script &
3. 执行exit,导致终端卡死
+ ```markdown
isula exec 进入容器后,执行后台程序卡住的原因为isula exec进入容器运行后台while1程序,当bash退出时,while1程序并不会退出,变为孤儿进程由1号
进程接管,while1程序是由容器的初始bash进程fork &exec执行的,while1进程复制了bash进程的文件句柄,导致bash退出时,句柄并未完全关闭,导致
console进程收不到句柄关闭事件,epoll_wait卡住,进程不退出。
+ ```
- isula exec 不能用后台方式执行,否则可能会出现卡死现象。
@@ -1544,7 +1545,7 @@ exec命令支持参数参考下表。
原因:使用exec 执行ls /test,输出带有换行,针对该输出进行“| grep "xx" | wc -l“,处理结果为2(两行)
- ```bash
+ ```sh
# isula exec -it container ls /test
xx xx10 xx12 xx14 xx3 xx5 xx7 xx9
xx1 xx11 xx13 xx2 xx4 xx6 xx8
@@ -1553,7 +1554,7 @@ exec命令支持参数参考下表。
建议处理方式:使用run/exec执行带有管道操作的命令时,使用/bin/bash -c 执行命令,在容器中执行管道操作。
- ```bash
+ ```sh
# isula exec -it container /bin/sh -c "ls /test | grep "xx" | wc -l"
15
#
@@ -1561,7 +1562,7 @@ exec命令支持参数参考下表。
- 禁止使用echo的方式向exec命令的stdin输入数据,会导致客户端卡死。应该直接将echo的值作为命令行参数传给容器
- ```bash
+ ```sh
# echo ls | isula exec 38 /bin/sh
@@ -1573,7 +1574,7 @@ exec命令支持参数参考下表。
正确的执行方式为:
- ```bash
+ ```sh
# isula exec 38 ls
bin dev etc home proc root sys tmp usr var
```
@@ -1582,7 +1583,7 @@ exec命令支持参数参考下表。
在运行中的容器中,执行echo命令
-```bash
+```sh
# isula exec c75284634bee echo "hello,world"
hello,world
```
@@ -1595,7 +1596,7 @@ isula inspect提供了容器的详细信息。
### 用法
-```bash
+```sh
isula inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
```
@@ -1648,7 +1649,7 @@ inspect命令支持参数参考下表。
查询容器信息
-```bash
+```sh
# isula inspect -f '{{.State.Status} {{.State.Running}}}' c75284634bee
running
true
@@ -1789,7 +1790,7 @@ isula ps 用于查询所有容器的信息。
### 用法
-```bash
+```sh
isula ps [OPTIONS]
```
@@ -1860,7 +1861,7 @@ ps命令支持参数参考下表。
查询所有容器信息
-```bash
+```sh
# isula ps -a
ID IMAGE STATUS PID COMMAND EXIT_CODE RESTART_COUNT STARTAT FINISHAT RUNTIME NAMES
@@ -1879,7 +1880,7 @@ isula restart 用于重启一个或者多个容器。
### 用法
-```bash
+```sh
isula restart [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -1942,7 +1943,7 @@ restart命令支持参数参考下表。
重启单个容器
-```bash
+```sh
# isula restart c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a
c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a
```
@@ -1955,7 +1956,7 @@ isula wait用于等待一个或者多个容器退出。仅支持runtime类型为
### 用法
-```bash
+```sh
isula wait [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -1997,7 +1998,7 @@ wait命令支持参数参考下表。
等待单个容器退出
-```bash
+```sh
# isula wait c75284634beeede3ab86c828790b439d16b6ed8a537550456b1f94eb852c1c0a
137
```
@@ -2010,7 +2011,7 @@ isula top用于查看容器中的进程信息。
### 用法
-```bash
+```sh
isula top [OPTIONS] container [ps options]
```
@@ -2053,7 +2054,7 @@ top命令支持参数参考下表。
查询容器中进程信息
-```bash
+```sh
# isula top 21fac8bb9ea8e0be4313c8acea765c8b4798b7d06e043bbab99fc20efa72629c
UID PID PPID C STIME TTY TIME CMD
root 22166 22163 0 23:04 pts/1 00:00:00 sh
@@ -2067,7 +2068,7 @@ isula stats用于实时显示资源使用的统计信息。
### 用法
-```bash
+```sh
isula stats [OPTIONS] [CONTAINER...]
```
@@ -2126,7 +2127,7 @@ stats命令支持参数参考下表。
显示资源使用的统计信息
-```bash
+```sh
# isula stats --no-stream 21fac8bb9ea8e0be4313c8acea765c8b4798b7d06e043bbab99fc20efa72629c CONTAINER CPU % MEM USAGE / LIMIT MEM % BLOCK I / O PIDS
21fac8bb9ea8 0.00 56.00 KiB / 7.45 GiB 0.00 0.00 B / 0.00 B 1
```
@@ -2139,7 +2140,7 @@ isula logs用于获取容器的日志。
### 用法
-```bash
+```sh
isula logs [OPTIONS] [CONTAINER...]
```
@@ -2201,7 +2202,7 @@ logs命令支持参数参考下表。
获取容器日志
-```bash
+```sh
# isula logs 6a144695f5dae81e22700a8a78fac28b19f8bf40e8827568b3329c7d4f742406
hello, world
hello, world
@@ -2216,7 +2217,7 @@ isula cp 用于容器与主机之间的数据拷贝,仅支持runtime类型为l
### 用法
-```bash
+```sh
isula cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
isula cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
```
@@ -2259,7 +2260,7 @@ cp命令支持参数参考下表。
- iSulad在执行拷贝时,不会挂载/etc/hostname, /etc/resolv.conf,/etc/hosts三个文件,也不会对--volume和--mount参数传入的参数挂载到host,所以对这些文件的拷贝使用的是镜像中的原始文件,而不是真实容器中的文件。
- ```bash
+ ```sh
# isula cp b330e9be717a:/etc/hostname /tmp/hostname
# cat /tmp/hostname
#
@@ -2267,7 +2268,7 @@ cp命令支持参数参考下表。
- iSulad在解压文件时,不会对文件系统中即将被覆盖的文件或文件夹做类型判断,而是直接覆盖,所以在拷贝时,如果源为文件夹,同名的文件会被强制覆盖为文件夹;如果源为文件,同名的文件夹会被强制覆盖为文件。
- ```bash
+ ```sh
# rm -rf /tmp/test_file_to_dir && mkdir /tmp/test_file_to_dir
# isula exec b330e9be717a /bin/sh -c "rm -rf /tmp/test_file_to_dir && touch /tmp/test_file_to_dir"
# isula cp b330e9be717a:/tmp/test_file_to_dir /tmp
@@ -2281,13 +2282,13 @@ cp命令支持参数参考下表。
将主机/test/host目录拷贝到容器21fac8bb9ea8的/test目录下。
-```bash
+```sh
isula cp /test/host 21fac8bb9ea8:/test
```
将容器21fac8bb9ea8的/www目录拷贝到主机的/tmp目录中。
-```bash
+```sh
isula cp 21fac8bb9ea8:/www /tmp/
```
@@ -2299,7 +2300,7 @@ isula pause用于暂停一个或者多个容器中的所有进程。
### 用法
-```bash
+```sh
isula pause [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -2343,7 +2344,7 @@ isula pause [OPTIONS] CONTAINER [CONTAINER...]
暂停一个正在运行的容器,命令示例如下:
-```bash
+```sh
# isula pause 8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac
8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac
```
@@ -2356,7 +2357,7 @@ isula unpause用于恢复一个或者多个容器中的所有进程, 为isula pa
### 用法
-```bash
+```sh
isula unpause [OPTIONS] CONTAINER [CONTAINER...]
```
@@ -2398,7 +2399,7 @@ isula unpause [OPTIONS] CONTAINER [CONTAINER...]
恢复一个被暂停的容器,命令示例如下:
-```bash
+```sh
# isula unpause 8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac
8fe25506fb5883b74c2457f453a960d1ae27a24ee45cdd78fb7426d2022a8bac
```
@@ -2411,7 +2412,7 @@ isula events用于从服务端获取实时事件。
### 用法
-```bash
+```sh
isula events [OPTIONS]
```
@@ -2469,6 +2470,6 @@ isula events [OPTIONS]
从服务端实时获取事件消息,命令示例如下:
-```bash
+```sh
# isula events
```
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\350\265\204\346\272\220\347\256\241\347\220\206.md" b/docs/zh/docs/container_engine/isula_container_engine/container_resource_management.md
similarity index 48%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\350\265\204\346\272\220\347\256\241\347\220\206.md"
rename to docs/zh/docs/container_engine/isula_container_engine/container_resource_management.md
index 1297a3b5f5f170bb3785e3690f482b0a27907112..a86c40a332d363535e8a0061b60ffdb1eb5e4aac 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\271\345\231\250\350\265\204\346\272\220\347\256\241\347\220\206.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/container_resource_management.md
@@ -13,7 +13,7 @@ cgroup v2来进行资源管理。无论是cgroup v1还是使用cgroup v2对容
容器间或者容器与host之间可以共享namespace信息,包括pid, net, ipc, uts。
-> **说明:**
+>![NOTE]说明
>当使用与主机共享namespace信息时,即缺少了对应的namespace隔离机制,在容器中可以查询、操作主机上的信息,存在安全
隐患。比如使用--pid=host共享主机pid namespace时,即可以看到主机上其他进程信息,造成信息泄露,甚至直接kill杀死主机
进程。请在确保安全的场景下,谨慎使用共享主机host namespace功能。
@@ -27,50 +27,50 @@ isula create/run时使用namespace相关的参数共享资源,具体参数见
create/run时可以指定下列参数。
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---pid
+ | --pid
|
-指定要共享的pid namespace
+ | 指定要共享的pid namespace
|
-[none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
+ | [none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
|
-否
+ | 否
|
---net
+ | --net
|
-指定要共享的net namespace
+ | 指定要共享的net namespace
|
-[none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
+ | [none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
|
-否
+ | 否
|
---ipc
+ | --ipc
|
-指定要共享的ipc namespace
+ | 指定要共享的ipc namespace
|
-[none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
+ | [none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
|
-否
+ | 否
|
---uts
+ | --uts
|
-指定要共享的uts namespace
+ | 指定要共享的uts namespace
|
-[none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
+ | [none, host, container:<containerID>],none表示不共享,host表示与host共用namespace,container:<containerID>表示与容器containerID共享同一个namespace
|
-否
+ | 否
|
@@ -80,7 +80,7 @@ create/run时可以指定下列参数。
如果两个容器需要共享同一个pid namespace,在运行容器时,直接加上--pid container: 即可,如:
-```bash
+```sh
isula run -tid --name test_pid busybox sh
isula run -tid --name test --pid container:test_pid busybox sh
```
@@ -100,77 +100,77 @@ isula create/run时使用cpu相关的参数限制容器的各项cpu资源值,
create/run时可以指定下列参数。
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---cpu-period
+ | --cpu-period
|
-限制容器中cpu cfs(完全公平调度)周期
+ | 限制容器中cpu cfs(完全公平调度)周期
|
-64位整数(int64)
+ | 64位整数(int64)
|
-否
+ | 否
|
---cpu-quota
+ | --cpu-quota
|
-限制容器中cpu cfs(完全公平调度) 的配额
+ | 限制容器中cpu cfs(完全公平调度) 的配额
|
-64位整数(int64)
+ | 64位整数(int64)
|
-否
+ | 否
|
---cpu-shares
+ | --cpu-shares
|
-限制容器中cpu相对权重
+ | 限制容器中cpu相对权重
|
-64位整数(int64)
+ | 64位整数(int64)
|
-否
+ | 否
|
---cpu-rt-period
+ | --cpu-rt-period
|
-限制容器中cpu实时周期(以微秒为单位)
+ | 限制容器中cpu实时周期(以微秒为单位)
|
-64位整数(int64)
+ | 64位整数(int64)
|
-否
+ | 否
|
---cpu-rt-runtime
+ | --cpu-rt-runtime
|
-限制容器中cpu实时运行时间(以微秒为单位)
+ | 限制容器中cpu实时运行时间(以微秒为单位)
|
-64位整数(int64)
+ | 64位整数(int64)
|
-否
+ | 否
|
---cpuset-cpus
+ | --cpuset-cpus
|
-限制容器中使用cpu节点
+ | 限制容器中使用cpu节点
|
-字符串。值为要设置的cpu编号,有效范围为主机上的cpu数量,例如可以设置0-3或者0,1.
+ | 字符串。值为要设置的cpu编号,有效范围为主机上的cpu数量,例如可以设置0-3或者0,1.
|
-否
+ | 否
|
---cpuset-mems
+ | --cpuset-mems
|
-限制容器中cpuset使用的mem节点
+ | 限制容器中cpuset使用的mem节点
|
-字符串。值为要设置的cpu编号,有效范围为主机上的cpu数量,例如可以设置0-3或者0,1.
+ | 字符串。值为要设置的cpu编号,有效范围为主机上的cpu数量,例如可以设置0-3或者0,1.
|
-否
+ | 否
|
@@ -180,11 +180,11 @@ create/run时可以指定下列参数。
如果需要限制容器只是用特定的cpu,在运行容器时,直接加上--cpuset-cpus number 即可,如:
-```bash
+```sh
isula run -tid --cpuset-cpus 0,2-3 busybox sh
```
-> **说明:**
+>![NOTE]说明
>是否设置成功,请参见“查询单个容器信息”章节。
## 限制运行时的内存
@@ -202,50 +202,50 @@ isula create/run时使用内存相关的参数限制容器的各项内存使用
create/run时可以指定下列参数。
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---memory
+ | --memory
|
-限制容器中内存使用上限
+ | 限制容器中内存使用上限
|
-64位整数(int64)。值为非负数,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
+ | 64位整数(int64)。值为非负数,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
|
-否
+ | 否
|
---memory-reservation
+ | --memory-reservation
|
-限制容器中内存的软上限
+ | 限制容器中内存的软上限
|
-64位整数(int64)。值为非负数,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
+ | 64位整数(int64)。值为非负数,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
|
-否
+ | 否
|
---memory-swap
+ | --memory-swap
|
-限制容器中交换内存的上限
+ | 限制容器中交换内存的上限
|
-64位整数(int64)。值为-1或非负数,-1表示不限制,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
+ | 64位整数(int64)。值为-1或非负数,-1表示不限制,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
|
-否
+ | 否
|
---kernel-memory
+ | --kernel-memory
|
-限制容器中内核内存的上限
+ | 限制容器中内核内存的上限
|
-64位整数(int64)。值为非负数,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
+ | 64位整数(int64)。值为非负数,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
|
-否
+ | 否
|
@@ -253,9 +253,9 @@ create/run时可以指定下列参数。
### 示例
-如果需要限制容器内内存的上限,在运行容器时,直接加上`--memory []`即可,如:
+如果需要限制容器内内存的上限,在运行容器时,直接加上--memory \[\]即可,如:
-```bash
+```sh
isula run -tid --memory 1G busybox sh
```
@@ -274,23 +274,23 @@ isula create/run时使用--device-read-bps/--device-write-bps :
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---device-read-bps/--device-write-bps
+ | --device-read-bps/--device-write-bps
|
-限制容器中设备的读速度/写速度
+ | 限制容器中设备的读速度/写速度
|
-64位整数(int64)。值为正整数,可以为0,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
+ | 64位整数(int64)。值为正整数,可以为0,0表示不设置(不限制);单位可以为空(byte),KB,MB,GB,TB,PB.
|
-否
+ | 否
|
@@ -300,13 +300,13 @@ create/run时指定--device-read/write-bps参数。
如果需要限制容器内设备的读写速度,在运行容器时,直接加上--device-write-bps/--device-read-bps :\[\]即可,例如,限制容器busybox内设备/dev/sda的读速度为 1MB 每秒,则命令如下:
-```bash
+```sh
isula run -tid --device-write /dev/sda:1mb busybox sh
```
限制写速度的命令如下:
-```bash
+```sh
isula run -tid read-bps /dev/sda:1mb busybox sh
```
@@ -328,7 +328,7 @@ isula run -tid read-bps /dev/sda:1mb busybox sh
3. 配额的设置需要在容器外以特权用户进行。
4. daemon中增加如下配置
- ```shell
+ ```sh
-s overlay2 --storage-opt overlay2.override_kernel_check=true
```
@@ -339,7 +339,7 @@ isula run -tid read-bps /dev/sda:1mb busybox sh
6. 需要开启文件系统Project ID和Project Quota属性。
- 新格式化文件系统并mount
- ```shell
+ ```sh
# mkfs.ext4 -O quota,project /dev/sdb
# mount -o prjquota /dev/sdb /var/lib/isulad
```
@@ -349,23 +349,23 @@ isula run -tid read-bps /dev/sda:1mb busybox sh
create/run时指定--storage-opt参数。
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---storage-opt size=${rootfsSize}
+ | --storage-opt size=${rootfsSize}
|
-限制容器rootfs存储空间。
+ | 限制容器rootfs存储空间。
|
-rootfsSize解析出的大小为int64范围内以字节表示的正数,默认单位为B,也可指定为([kKmMgGtTpP])?[iI]?[bB]?$。(device mapper场景下最小取值为10G)
+ | rootfsSize解析出的大小为int64范围内以字节表示的正数,默认单位为B,也可指定为([kKmMgGtTpP])?[iI]?[bB]?$。(device mapper场景下最小取值为10G)
|
-否
+ | 否
|
@@ -373,9 +373,9 @@ create/run时指定--storage-opt参数。
### 示例
-在isula run/create命令行上通过已有参数“--storage-opt size=”来设置限额。其中value是一个正数,单位可以是`[kKmMgGtTpP]?[iI]?[bB]?`,在不带单位的时候默认单位是字节。
+在isula run/create命令行上通过已有参数“--storage-opt size=”来设置限额。其中value是一个正数,单位可以是\[kKmMgGtTpP\]?\[iI\]?\[bB\]?,在不带单位的时候默认单位是字节。
-```bash
+```sh
# isula run -ti --storage-opt size=10M busybox
/ # df -h
Filesystem Size Used Available Use% Mounted on
@@ -420,7 +420,7 @@ overlay 10.0M 10.0M 0 100% /
内核必须支持ext4的project quota功能,并在mkfs的时候要加上-O quota,project,挂载的时候要加上-o prjquota。任何一个不满足,在使用--storage-opt size=时都将报错。
- ```bash
+ ```sh
# isula run -it --storage-opt size=10Mb busybox df -h
Error response from daemon: Failed to prepare rootfs with error: time="2019-04-09T05:13:52-04:00" level=fatal msg="error creating read-
write layer with ID "a4c0e55e82c55e4ee4b0f4ee07f80cc2261cf31b2c2dfd628fa1fb00db97270f": --storage-opt is supported only for overlay over
@@ -440,7 +440,7 @@ overlay 10.0M 10.0M 0 100% /
docker启动失败。
- ```bash
+ ```sh
# docker run -itd --storage-opt size=4k rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest
docker: Error response from daemon: symlink /proc/mounts /var/lib/docker/overlay2/e6e12701db1a488636c881b44109a807e187b8db51a50015db34a131294fcf70-init/merged/etc/mtab: disk quota exceeded.
See 'docker run --help'.
@@ -448,7 +448,7 @@ overlay 10.0M 10.0M 0 100% /
轻量级容器不报错,正常启动
- ```bash
+ ```sh
# isula run -itd --storage-opt size=4k rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest
636480b1fc2cf8ac895f46e77d86439fe2b359a1ff78486ae81c18d089bbd728
# isula ps
@@ -462,7 +462,7 @@ overlay 10.0M 10.0M 0 100% /
轻量级容器在启动容器过程中,使用默认配置时,挂载点较少,如/proc,或/sys等路径不存在时,才会创建。用例中的镜像rnd-dockerhub.huawei.com/official/ubuntu-arm64:latest本身含有/proc, /sys等,因此整个启动容器的过程中,都不会有新文件或路径生成,故轻量级容器启动过程不会报错。为验证这一过程,当把镜像替换为rnd-dockerhub.huawei.com/official/busybox-aarch64:latest时,由于该镜像内无/proc存在,轻量级容器启动一样会报错。
- ```bash
+ ```sh
# isula run -itd --storage-opt size=4k rnd-dockerhub.huawei.com/official/busybox-aarch64:latest
8e893ab483310350b8caa3b29eca7cd3c94eae55b48bfc82b350b30b17a0aaf4
Error response from daemon: Start container error: runtime error: 8e893ab483310350b8caa3b29eca7cd3c94eae55b48bfc82b350b30b17a0aaf4:tools/lxc_start.c:main:404 starting container process caused "Failed to setup lxc,
@@ -473,8 +473,8 @@ overlay 10.0M 10.0M 0 100% /
使用限额功能的isulad切换数据盘时,需要保证被切换的数据盘使用\`prjquota\`选项挂载,且/var/lib/isulad/storage/overlay2目录的挂载方式与/var/lib/isulad相同。
- >  **说明:**
- > 切换数据盘时需要保证/var/lib/isulad/storage/overlay2的挂载点被卸载。
+ >![NOTE]说明
+ >切换数据盘时需要保证/var/lib/isulad/storage/overlay2的挂载点被卸载。
## 限制容器内文件句柄数
@@ -491,24 +491,24 @@ isula create/run时使用--files-limit来限制容器中可以打开的文件句
create/run时指定--files-limit参数。
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---files-limit
+ | --files-limit
|
-限制容器中可以打开的文件句柄数。
+ | 限制容器中可以打开的文件句柄数。
|
-64位整数(int64)。可以为0、负,但不能超过2的63 次方减 1,0、负表示不做限制(max)。
+ | 64位整数(int64)。可以为0、负,但不能超过2的63 次方减 1,0、负表示不做限制(max)。
由于创建容器的过程中会临时打开一些句柄,所以此值不能设置的太小,不然容器可能不受files limit的限制(如果设置的数小于当前已经打开的句柄数,会导致cgroup文件写不进去),建议大于30。
|
-否
+ | 否
|
@@ -518,7 +518,7 @@ create/run时指定--files-limit参数。
在运行容器时,直接加上--files-limit n 即可,如:
-```bash
+```sh
isula run -ti --files-limit 1024 busybox bash
```
@@ -526,7 +526,7 @@ isula run -ti --files-limit 1024 busybox bash
1. 使用--files-limit参数传入一个很小的值,如1,可能导致容器启动失败。
- ```bash
+ ```sh
# isula run -itd --files-limit 1 rnd-dockerhub.huawei.com/official/busybox-aarch64
004858d9f9ef429b624f3d20f8ba12acfbc8a15bb121c4036de4e5745932eff4
Error response from daemon: Start container error: Container is not running:004858d9f9ef429b624f3d20f8ba12acfbc8a15bb121c4036de4e5745932eff4
@@ -534,7 +534,7 @@ isula run -ti --files-limit 1024 busybox bash
而docker会启动成功,其files.limit cgroup值为max。
- ```bash
+ ```sh
# docker run -itd --files-limit 1 rnd-dockerhub.huawei.com/official/busybox-aarch64
ef9694bf4d8e803a1c7de5c17f5d829db409e41a530a245edc2e5367708dbbab
# docker exec -it ef96 cat /sys/fs/cgroup/files/files.limit
@@ -558,23 +558,23 @@ isula run -ti --files-limit 1024 busybox bash
create/run时指定--pids-limit参数。
-参数项
+参数项
|
-参数说明
+ | 参数说明
|
-取值范围
+ | 取值范围
|
-是否必选
+ | 是否必选
|
---pids-limit
+ | --pids-limit
|
-限制容器中可以打开的文件句柄数。
+ | 限制容器中可以打开的文件句柄数。
|
-64位整数(int64)。可以为0、负,但不能超过2的63 次方减 1,0、负表示不做限制(max)。
+ | 64位整数(int64)。可以为0、负,但不能超过2的63 次方减 1,0、负表示不做限制(max)。
|
-否
+ | 否
|
@@ -584,7 +584,7 @@ create/run时指定--pids-limit参数。
在运行容器时,直接加上--pids-limit n 即可,如:
-```bash
+```sh
isula run -ti --pids-limit 1024 busybox bash
```
@@ -609,23 +609,23 @@ isula run -ti --pids-limit 1024 busybox bash
1. isula create/run时使用--ulimit =\[:\]来控制shell执行程序的资源。
- 参数项
+ 参数项
|
- 参数说明
+ | 参数说明
|
- 取值范围
+ | 取值范围
|
- 是否必选
+ | 是否必选
|
- --ulimit
+ | --ulimit
|
- 限制shell执行程序的资源
+ | 限制shell执行程序的资源
|
- soft/hard是64位整数(int64)。soft取值 <= hard取值,如果仅仅指定了soft的取值,则hard=soft。对于某些类型的资源并不支持负数,详见下表
+ | soft/hard是64位整数(int64)。soft取值 <= hard取值,如果仅仅指定了soft的取值,则hard=soft。对于某些类型的资源并不支持负数,详见下表
|
- 否
+ | 否
|
@@ -638,91 +638,91 @@ isula run -ti --pids-limit 1024 busybox bash
--ulimit可以对以下类型的资源进行限制。
- 类型
+ 类型
|
- 说明
+ | 说明
|
- 取值范围
+ | 取值范围
|
- core
+ | core
|
- limits the core file size (KB)
+ | limits the core file size (KB)
|
- 64位整数(INT64),无单位。可以为0、负、其中-1表示UNLIMITED,即不做限制,其余的负数会被强制转换为一个大的正整数。
+ | 64位整数(INT64),无单位。可以为0、负、其中-1表示UNLIMITED,即不做限制,其余的负数会被强制转换为一个大的正整数。
|
- cpu
+ | cpu
|
- max CPU time (MIN)
+ | max CPU time (MIN)
|
- data
+ | data
|
- max data size (KB)
+ | max data size (KB)
|
- fsize
+ | fsize
|
- maximum filesize (KB)
+ | maximum filesize (KB)
|
- locks
+ | locks
|
- max number of file locks the user can hold
+ | max number of file locks the user can hold
|
- memlock
+ | memlock
|
- max locked-in-memory address space (KB)
+ | max locked-in-memory address space (KB)
|
- msgqueue
+ | msgqueue
|
- max memory used by POSIX message queues (bytes)
+ | max memory used by POSIX message queues (bytes)
|
- nice
+ | nice
|
- nice priority
+ | nice priority
|
- nproc
+ | nproc
|
- max number of processes
+ | max number of processes
|
- rss
+ | rss
|
- max resident set size (KB)
+ | max resident set size (KB)
|
- rtprio
+ | rtprio
|
- max realtime priority
+ | max realtime priority
|
- rttime
+ | rttime
|
- realtime timeout
+ | realtime timeout
|
- sigpending
+ | sigpending
|
- max number of pending signals
+ | max number of pending signals
|
- stack
+ | stack
|
- max stack size (KB)
+ | max stack size (KB)
|
- nofile
+ | nofile
|
- max number of open file descriptors
+ | max number of open file descriptors
|
- 64位整数(int64),无单位。不可以为负,负数被强转为大数,设置时会出现Operation not permitted
+ | 64位整数(int64),无单位。不可以为负,负数被强转为大数,设置时会出现Operation not permitted
|
@@ -730,9 +730,9 @@ isula run -ti --pids-limit 1024 busybox bash
### 示例
-在容器的创建或者运行时,加上`--ulimit =[:]`即可,如:
+在容器的创建或者运行时,加上--ulimit =\[:\]即可,如:
-```bash
+```sh
isula create/run -tid --ulimit nofile=1024:2048 busybox sh
```
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/CRI-v1alpha2\346\216\245\345\217\243.md" b/docs/zh/docs/container_engine/isula_container_engine/cri.md
similarity index 47%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/CRI-v1alpha2\346\216\245\345\217\243.md"
rename to docs/zh/docs/container_engine/isula_container_engine/cri.md
index b902cf6332b5c1f684c51e415db1ca7385ced52d..aa8e1424395a91684ad977dc9e873c0d303b8fbe 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/CRI-v1alpha2\346\216\245\345\217\243.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/cri.md
@@ -12,8 +12,9 @@ CRI API 接口是由kubernetes 推出的容器运行时接口,CRI定义了容
ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出入,以本文档描述的接口为准。
-> **说明:**
->CRI接口websocket流式服务,服务端侦听地址为127.0.0.1,端口为10350,端口可通过命令行--websocket-server-listening-port参数接口或者daemon.json配置文件进行配置。
+> [!NOTE]说明
+>
+> CRI接口websocket流式服务,服务端侦听地址为127.0.0.1,端口为10350,端口可通过命令行--websocket-server-listening-port参数接口或者daemon.json配置文件进行配置。
## 接口
@@ -59,37 +60,14 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
指定sandbox的端口映射配置
-
- 参数成员
- |
- 描述
- |
-
-
- Protocol protocol
- |
- 端口映射使用的协议
- |
-
- int32 container_port
- |
- 容器内的端口号
- |
-
- int32 host_port
- |
- 主机上的端口号
- |
-
- string host_ip
- |
- 主机IP地址
- |
-
-
-
+ | **参数成员** | **描述** |
+ |----------------------|--------------------|
+ | Protocol protocol | 端口映射使用的协议 |
+ | int32 container_port | 容器内的端口号 |
+ | int32 host_port | 主机上的端口号 |
+ | string host_ip | 主机IP地址 |
-- **MountPropagation**
+- **MountPropagation**
挂载传播属性的enum列表
@@ -122,40 +100,13 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
Mount指定host上的一个挂载卷挂载到容器中(只支持文件和文件夹\)
-
- 参数成员
- |
- 描述
- |
-
-
- string container_path
- |
- 容器中的路径
- |
-
- string host_path
- |
- 主机上的路径
- |
-
- bool readonly
- |
- 是否配置在容器中是只读的, 缺省值: false
- |
-
- bool selinux_relabel
- |
- 是否设置SELinux标签(不支持配置)
- |
-
- MountPropagation propagation
- |
- 挂载传播属性配置(取值0/1/2,分别对应private/rslave/rshared传播属性) 缺省值:0
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------|---------------------------------------------------------------------------------|
+ | string container_path | 容器中的路径 |
+ | string host_path | 主机上的路径 |
+ | bool readonly | 是否配置在容器中是只读的, 缺省值: false |
+ | bool selinux_relabel | 是否设置SELinux标签(不支持配置) |
+ | MountPropagation propagation | 挂载传播属性配置(取值**0/1/2**,分别对应**private/rslave/rshared**传播属性) **缺省值:0** |
- **NamespaceOption**
@@ -246,89 +197,31 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
-- **LinuxSandboxSecurityContext**
+- **LinuxSandboxSecurityContext**
配置sandbox的linux安全选项。
- 注意,这些安全选项不会应用到sandbox中的容器中,也可能不适用于没有任何running进程的sandbox
+ 注意,这些安全选项不会应用到sandbox中的容器中,也可能不适用于没有任何running进程的sandbox。
-
- 参数成员
- |
- 描述
- |
-
-
- NamespaceOption namespace_options
- |
- 配置sandbox的命名空间选项
- |
-
- SELinuxOption selinux_options
- |
- 配置SELinux选项(不支持)
- |
-
- Int64Value run_as_user
- |
- 配置sandbox中进程的uid
- |
-
- bool readonly_rootfs
- |
- 配置sandbox的根文件系统是否只读
- |
-
- repeated int64 supplemental_groups
- |
- 配置除主GID之外的sandbox的1号进程用户组信息
- |
-
- bool privileged
- |
- 配置sandbox是否为特权容器
- |
-
- string seccomp_profile_path
- |
- seccomp配置文件路径,有效值为:
- // unconfined: 不配置seccomp
- // localhost/<配置文件的全路径>: 安装在系统上的配置文件路径
- // <配置文件的全路径>: 配置文件全路径
- // 默认不配置,即unconfined。
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | NamespaceOption namespace_options | 配置sandbox的命名空间选项 |
+ | SELinuxOption selinux_options | 配置SELinux选项(不支持) |
+ | Int64Value run_as_user | 配置sandbox中进程的uid |
+ | bool readonly_rootfs | 配置sandbox的根文件系统是否只读 |
+ | repeated int64 supplemental_groups | 配置除主GID之外的sandbox的1号进程用户组信息 |
+ | bool privileged | 配置sandbox是否为特权容器 |
+ | string seccomp_profile_path | seccomp配置文件路径,有效值为: // unconfined: 不配置seccomp // localhost/\<配置文件的全路径>: 安装在系统上的配置文件路径 // \<配置文件的全路径>: 配置文件全路径 // 默认不配置,即unconfined。 |
- **LinuxPodSandboxConfig**
设定和Linux主机及容器相关的一些配置
-
- 参数成员
- |
- 描述
- |
-
-
- string cgroup_parent
- |
- sandbox的cgroup父路径,runtime可根据实际情况使用cgroupfs或systemd的语法。(不支持配置)
- |
-
- LinuxSandboxSecurityContext security_context
- |
- sandbox的安全属性
- |
-
- map<string, string> sysctls
- |
- sandbox的linux sysctls配置
- |
-
-
-
+ | **参数成员** | **描述** |
+ |----------------------------------------------|-----------------------------------------------------------------------------------------|
+ | string cgroup_parent | sandbox的cgroup父路径,runtime可根据实际情况使用cgroupfs或systemd的语法。(不支持配置) |
+ | LinuxSandboxSecurityContext security_context | sandbox的安全属性 |
+ | map\ sysctls | sandbox的linux sysctls配置 |
- **PodSandboxMetadata**
@@ -368,55 +261,16 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
包含创建sandbox的所有必选和可选配置信息
-
- 参数成员
- |
- 描述
- |
-
-
- PodSandboxMetadata metadata
- |
- sandbox的元数据,这项信息唯一标识一个sandbox,runtime必须利用此信息确保操作正确,runtime也可以根据此信息来改善用户体验,例如构建可读的sandbox名称。
- |
-
- string hostname
- |
- sandbox的hostname
- |
-
- string log_directory
- |
- 配置sandbox内的容器的日志文件所存储的文件夹
- |
-
- DNSConfig dns_config
- |
- sandbox的DNS配置
- |
-
- repeated PortMapping port_mappings
- |
- sandbox的端口映射
- |
-
- map<string, string> labels
- |
- 可用于标识单个或一系列sandbox的键值对
- |
-
- map<string, string> annotations
- |
- 存储任意信息的键值对,这些值是不可更改的,且能够利用PodSandboxStatus接口查询
- |
-
- LinuxPodSandboxConfig linux
- |
- 与linux主机相关的可选项
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|
+ | PodSandboxMetadata metadata | sandbox的元数据,这项信息唯一标识一个sandbox,runtime必须利用此信息确保操作正确,runtime也可以根据此信息来改善用户体验,例如构建可读的sandbox名称。 |
+ | string hostname | sandbox的hostname |
+ | string log_directory | 配置sandbox内的容器的日志文件所存储的文件夹 |
+ | DNSConfig dns_config | sandbox的DNS配置 |
+ | repeated PortMapping port_mappings | sandbox的端口映射 |
+ | map\ labels | 可用于标识单个或一系列sandbox的键值对 |
+ | map\ annotations | 存储任意信息的键值对,这些值是不可更改的,且能够利用PodSandboxStatus接口查询 |
+ | LinuxPodSandboxConfig linux | 与linux主机相关的可选项 |
- **PodSandboxNetworkStatus**
@@ -451,39 +305,17 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
命名空间选项
-
- 参数成员
- |
- 描述
- |
-
-
- NamespaceOption options
- |
- Linux 命名空间选项
- |
-
-
-
+ | **参数成员** | **描述** |
+ |-------------------------|--------------------|
+ | NamespaceOption options | Linux 命名空间选项 |
- **LinuxPodSandboxStatus**
描述Linux sandbox的状态
-
- 参数成员
- |
- 描述
- |
-
-
- Namespace namespaces
- |
- sandbox命名空间
- |
-
-
-
+ | **参数成员** | **描述** |
+ |----------------------|-----------------|
+ | Namespace **namespaces** | sandbox命名空间 |
- **PodSandboxState**
@@ -513,147 +345,47 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
描述Podsandbox的状态信息
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- sandbox的ID
- |
-
- PodSandboxMetadata metadata
- |
- sandbox的元数据
- |
-
- PodSandboxState state
- |
- sandbox的状态值
- |
-
- int64 created_at
- |
- sandbox的创建时间戳,单位纳秒
- |
-
- repeated PodSandboxNetworkStatus networks
- |
- sandbox的多平面网络状态
- |
-
- LinuxPodSandboxStatus linux
- |
- Linux规范的sandbox状态
- |
-
- map<string, string> labels
- |
- 可用于标识单个或一系列sandbox的键值对
- |
-
- map<string, string> annotations
- |
- 存储任意信息的键值对,这些值是不可被runtime更改的
- |
-
-
-
+ | **参数成员** | **描述** |
+ |-------------------------------------------|---------------------------------------------------|
+ | string id | sandbox的ID |
+ | PodSandboxMetadata metadata | sandbox的元数据 |
+ | PodSandboxState state | sandbox的状态值 |
+ | int64 created_at | sandbox的创建时间戳,单位纳秒 |
+ | repeated PodSandboxNetworkStatus networks | sandbox的多平面网络状态 |
+ | LinuxPodSandboxStatus linux | Linux规范的sandbox状态 |
+ | map\ labels | 可用于标识单个或一系列sandbox的键值对 |
+ | map\ annotations | 存储任意信息的键值对,这些值是不可被runtime更改的 |
- **PodSandboxStateValue**
对PodSandboxState的封装
-
- 参数成员
- |
- 描述
- |
-
-
- PodSandboxState state
- |
- sandbox的状态值
- |
-
-
-
+ | **参数成员** | **描述** |
+ |-----------------------|-----------------|
+ | PodSandboxState state | sandbox的状态值 |
- **PodSandboxFilter**
用于列出sandbox时添加过滤条件,多个条件取交集显示
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- sandbox的ID
- |
-
- PodSandboxStateValue state
- |
- sandbox的状态
- |
-
- map<string, string> label_selector
- |
- sandbox的labels,label只支持完全匹配,不支持正则匹配
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------------|------------------------------------------------------|
+ | string id | sandbox的ID |
+ | PodSandboxStateValue state | sandbox的状态 |
+ | map\ label_selector | sandbox的labels,label只支持完全匹配,不支持正则匹配 |
- **PodSandbox**
包含最小化描述一个sandbox的数据
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- sandbox的ID
- |
-
- PodSandboxMetadata metadata
- |
- sandbox的元数据
- |
-
- PodSandboxState state
- |
- sandbox的状态值
- |
-
- int64 created_at
- |
- sandbox的创建时间戳,单位纳秒
- |
-
- map<string, string> labels
- |
- 可用于标识单个或一系列sandbox的键值对
- |
-
- map<string, string> annotations
- |
- 存储任意信息的键值对,这些值是不可被runtime更改的
- |
-
-
-
+ | **参数成员** | **描述** |
+ |---------------------------------|---------------------------------------------------|
+ | string id | sandbox的ID |
+ | PodSandboxMetadata metadata | sandbox的元数据 |
+ | PodSandboxState state | sandbox的状态值 |
+ | int64 created_at | sandbox的创建时间戳,单位纳秒 |
+ | map\ labels | 可用于标识单个或一系列sandbox的键值对 |
+ | map\ annotations | 存储任意信息的键值对,这些值是不可被runtime更改的 |
- **KeyValue**
@@ -775,166 +507,82 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
封装ContainerState的数据结构
-
- 参数成员
- |
- 描述
- |
-
-
- ContainerState state
- |
- 容器状态值
- |
-
-
-
+ | **参数成员** | **描述** |
+ |----------------------|------------|
+ | ContainerState **state** | 容器状态值 |
- **ContainerFilter**
用于列出container时添加过滤条件,多个条件取交集显示
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- container的ID
- |
-
- PodSandboxStateValue state
- |
- container的状态
- |
-
- string pod_sandbox_id
- |
- sandbox的ID
- |
-
- map<string, string> label_selector
- |
- container的labels,label只支持完全匹配,不支持正则匹配
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------------|--------------------------------------------------------|
+ | string id | container的ID |
+ | PodSandboxStateValue state | container的状态 |
+ | string pod_sandbox_id | sandbox的ID |
+ | map\ label_selector | container的labels,label只支持完全匹配,不支持正则匹配 |
- **LinuxContainerSecurityContext**
指定应用于容器的安全配置
-
- 参数成员
+ | **参数成员** | **描述** |
+ |------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
+ | Capability capabilities | 新增或去除的权能 |
+ | bool privileged | 指定容器是否未特权模式, **缺省值:false** |
+ | NamespaceOption namespace_options | 指定容器的namespace选项 |
+ | SELinuxOption selinux_options | SELinux context(可选配置项) **暂不支持** |
+ | Int64Value run_as_user | 运行容器进程的UID。 一次只能指定run_as_user与run_as_username其中之一,run_as_username优先生效 |
+ | string run_as_username | 运行容器进程的用户名。 如果指定,用户必须存在于容器映像中(即在映像内的/etc/passwd中),并由运行时在那里解析; 否则,运行时必须出错 |
+ | bool readonly_rootfs | 设置容器中根文件系统是否为只读 **缺省值由config.json配置** |
+ | repeated int64 supplemental_groups | 容器运行的除主GID外首进程组的列表 |
+ | string apparmor_profile | 容器的AppArmor配置文件 **暂不支持** |
+ | string seccomp_profile_path | 容器的seccomp配置文件路径 |
+ | bool no_new_privs | 是否在容器上设置no_new_privs的标志 |
+
+- **LinuxContainerResources**
+
+ 指定Linux容器资源的特定配置
+
+
+ 参数成员
|
- 描述
+ | 描述
|
- Capability capabilities
+ | int64 cpu_period
|
- 新增或去除的权能
+ | CPU CFS(完全公平调度程序)周期。 缺省值:0
|
- bool privileged
+ | int64 cpu_quota
|
- 指定容器是否未特权模式, 缺省值:false
+ | CPU CFS(完全公平调度程序)配额。 缺省值:0
|
- NamespaceOption namespace_options
+ | int64 cpu_shares
|
- 指定容器的namespace选项
+ | 所占CPU份额(相对于其他容器的相对权重)。 缺省值:0
|
- SELinuxOption selinux_options
+ | int64 memory_limit_in_bytes
|
- SELinux context(可选配置项) 暂不支持
+ | 内存限制(字节)。 缺省值:0
|
- Int64Value run_as_user
+ | int64 oom_score_adj
|
- 运行容器进程的UID。 一次只能指定run_as_user与run_as_username其中之一,run_as_username优先生效
+ | OOMScoreAdj用于调整oom-killer。 缺省值:0
|
- string run_as_username
+ | string cpuset_cpus
|
- 运行容器进程的用户名。 如果指定,用户必须存在于容器映像中(即在映像内的/etc/passwd中),并由运行时在那里解析; 否则,运行时必须出错
+ | 指定容器使用的CPU核心。 缺省值:“”
|
- bool readonly_rootfs
+ | string cpuset_mems
|
- 设置容器中根文件系统是否为只读 缺省值由config.json配置
- |
-
- repeated int64 supplemental_groups
- |
- 容器运行的除主GID外首进程组的列表
- |
-
- string apparmor_profile
- |
- 容器的AppArmor配置文件 暂不支持
- |
-
- string seccomp_profile_path
- |
- 容器的seccomp配置文件路径
- |
-
- bool no_new_privs
- |
- 是否在容器上设置no_new_privs的标志
- |
-
-
-
-
-- **LinuxContainerResources**
-
- 指定Linux容器资源的特定配置
-
-
- 参数成员
- |
- 描述
- |
-
- int64 cpu_period
- |
- CPU CFS(完全公平调度程序)周期。 缺省值:0
- |
-
- int64 cpu_quota
- |
- CPU CFS(完全公平调度程序)配额。 缺省值:0
- |
-
- int64 cpu_shares
- |
- 所占CPU份额(相对于其他容器的相对权重)。 缺省值:0
- |
-
- int64 memory_limit_in_bytes
- |
- 内存限制(字节)。 缺省值:0
- |
-
- int64 oom_score_adj
- |
- OOMScoreAdj用于调整oom-killer。 缺省值:0
- |
-
- string cpuset_cpus
- |
- 指定容器使用的CPU核心。 缺省值:“”
- |
-
- string cpuset_mems
- |
- 指定容器使用的内存节点。 缺省值:“”
+ | 指定容器使用的内存节点。 缺省值:“”
|
@@ -944,44 +592,14 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
Image信息描述一个镜像的基本数据。
-
- 参数成员
- |
- 描述
- |
-
- string id
- |
- 镜像ID
- |
-
- repeated string repo_tags
- |
- 镜像tag 名称 repo_tags
- |
-
- repeated string repo_digests
- |
- 镜像digest信息
- |
-
- uint64 size
- |
- 镜像大小
- |
-
- Int64Value uid
- |
- 镜像默认用户UID
- |
-
- string username
- |
- 镜像默认用户名称
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------|------------------------|
+ | string id | 镜像ID |
+ | repeated string repo_tags | 镜像tag 名称 repo_tags |
+ | repeated string repo_digests | 镜像digest信息 |
+ | uint64 size | 镜像大小 |
+ | Int64Value uid | 镜像默认用户UID |
+ | string username | 镜像默认用户名称 |
- **ImageSpec**
@@ -1023,34 +641,12 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
- **FilesystemUsage**
-
- 参数成员
- |
- 描述
- |
-
- int64 timestamp
- |
- 收集文件系统信息时的时间戳
- |
-
- StorageIdentifier storage_id
- |
- 存储镜像的文件系统UUID
- |
-
- UInt64Value used_bytes
- |
- 存储镜像元数据的大小
- |
-
- UInt64Value inodes_used
- |
- 存储镜像元数据的inodes个数
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------|----------------------------|
+ | int64 timestamp | 收集文件系统信息时的时间戳 |
+ | StorageIdentifier storage_id | 存储镜像的文件系统UUID |
+ | UInt64Value used_bytes | 存储镜像元数据的大小 |
+ | UInt64Value inodes_used | 存储镜像元数据的inodes个数 |
- **AuthConfig**
@@ -1097,149 +693,39 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
用于描述容器信息,例如ID, 状态等。
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- container的ID
- |
-
- string pod_sandbox_id
- |
- 该容器所属的sandbox的ID
- |
-
- ContainerMetadata metadata
- |
- container的元数据
- |
-
- ImageSpec image
- |
- 镜像规格
- |
-
- string image_ref
- |
- 代表容器使用的镜像,对大多数runtime来产,这是一个image ID值
- |
-
- ContainerState state
- |
- container的状态
- |
-
- int64 created_at
- |
- container的创建时间戳,单位为纳秒
- |
-
- map<string, string> labels
- |
- 可用于标识单个或一系列container的键值对
- |
-
- map<string, string> annotations
- |
- 存储任意信息的键值对,这些值是不可被runtime更改的
- |
-
-
-
+ | **参数成员** | **描述** |
+ |---------------------------------|-------------------------------------------------------------|
+ | string id | container的ID |
+ | string pod_sandbox_id | 该容器所属的sandbox的ID |
+ | ContainerMetadata metadata | container的元数据 |
+ | ImageSpec image | 镜像规格 |
+ | string image_ref | 代表容器使用的镜像,对大多数runtime来产,这是一个image ID值 |
+ | ContainerState state | container的状态 |
+ | int64 created_at | container的创建时间戳,单位为纳秒 |
+ | map\ labels | 可用于标识单个或一系列container的键值对 |
+ | map\ annotations | 存储任意信息的键值对,这些值是不可被runtime更改的 |
- **ContainerStatus**
用于描述容器状态信息
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- container的ID
- |
-
- ContainerMetadata metadata
- |
- container的元数据
- |
-
- ContainerState state
- |
- container的状态
- |
-
- int64 created_at
- |
- container的创建时间戳,单位为纳秒
- |
-
- int64 started_at
- |
- container启动时的时间戳,单位为纳秒
- |
-
- int64 finished_at
- |
- container退出时的时间戳,单位为纳秒
- |
-
- int32 exit_code
- |
- 容器退出码
- |
-
- ImageSpec image
- |
- 镜像规格
- |
-
- string image_ref
- |
- 代表容器使用的镜像,对大多数runtime来产,这是一个image ID值
- |
-
- string reason
- |
- 简要描述为什么容器处于当前状态
- |
-
- string message
- |
- 易于人工阅读的信息,用于表述容器处于当前状态的原因
- |
-
- map<string, string> labels
- |
- 可用于标识单个或一系列container的键值对
- |
-
- map<string, string> annotations
- |
- 存储任意信息的键值对,这些值是不可被runtime更改的
- |
-
- repeated Mount mounts
- |
- 容器的挂载点信息
- |
-
- string log_path
- |
- 容器日志文件路径,该文件位于PodSandboxConfig中配置的log_directory文件夹下
- |
-
-
-
+ | **参数成员** | **描述** |
+ |---------------------------------|---------------------------------------------------------------------------|
+ | string id | container的ID |
+ | ContainerMetadata metadata | container的元数据 |
+ | ContainerState state | container的状态 |
+ | int64 created_at | container的创建时间戳,单位为纳秒 |
+ | int64 started_at | container启动时的时间戳,单位为纳秒 |
+ | int64 finished_at | container退出时的时间戳,单位为纳秒 |
+ | int32 exit_code | 容器退出码 |
+ | ImageSpec image | 镜像规格 |
+ | string image_ref | 代表容器使用的镜像,对大多数runtime来产,这是一个image ID值 |
+ | string reason | 简要描述为什么容器处于当前状态 |
+ | string message | 易于人工阅读的信息,用于表述容器处于当前状态的原因 |
+ | map\ labels | 可用于标识单个或一系列container的键值对 |
+ | map\ annotations | 存储任意信息的键值对,这些值是不可被runtime更改的 |
+ | repeated Mount mounts | 容器的挂载点信息 |
+ | string log_path | 容器日志文件路径,该文件位于PodSandboxConfig中配置的log_directory文件夹下 |
- **ContainerStatsFilter**
@@ -1274,69 +760,23 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
用于列出container stats时添加过滤条件,多个条件取交集显示
-
- 参数成员
- |
- 描述
- |
-
-
- ContainerAttributes attributes
- |
- 容器的信息
- |
-
- CpuUsage cpu
- |
- CPU使用情况
- |
-
- MemoryUsage memory
- |
- 内存使用情况
- |
-
- FilesystemUsage writable_layer
- |
- 可写层使用情况
- |
-
-
-
+ | **参数成员** | **描述** |
+ |--------------------------------|----------------|
+ | ContainerAttributes attributes | 容器的信息 |
+ | CpuUsage cpu | CPU使用情况 |
+ | MemoryUsage memory | 内存使用情况 |
+ | FilesystemUsage writable_layer | 可写层使用情况 |
- **ContainerAttributes**
列出container的基本信息
-
- 参数成员
- |
- 描述
- |
-
-
- string id
- |
- 容器的ID
- |
-
- ContainerMetadata metadata
- |
- 容器的metadata
- |
-
- map<string,string> labels
- |
- 可用于标识单个或一系列container的键值对
- |
-
- map<string,string> annotations
- |
- 存储任意信息的键值对,这些值是不可被runtime更改的
- |
-
-
-
+ | **参数成员** | **描述** |
+ |--------------------------------|---------------------------------------------------|
+ | string id | 容器的ID |
+ | ContainerMetadata metadata | 容器的metadata |
+ | map\ labels | 可用于标识单个或一系列container的键值对 |
+ | map\ annotations | 存储任意信息的键值对,这些值是不可被runtime更改的 |
- **CpuUsage**
@@ -1389,211 +829,103 @@ ISulad使用的为pass使用的1.14版本API描述文件,与官方API略有出
- **FilesystemUsage**
列出container的读写层信息
-
-
- 参数成员
- |
- 描述
- |
-
-
- int64 timestamp
- |
- 时间戳
- |
-
- StorageIdentifier storage_id
- |
- 可写层目录
- |
-
- UInt64Value used_bytes
- |
- 镜像在可写层的占用字节
- |
-
- UInt64Value inodes_used
- |
- 镜像在可写层的占用inode数
- |
-
-
-
-
-- **Device**
-
- 指定待挂载至容器的主机卷
-
-
- 参数成员
- |
- 描述
- |
-
- string container_path
- |
- 容器内的挂载路径
- |
-
- string host_path
- |
- 主机上的挂载路径
- |
-
- string permissions
- |
- 设备的Cgroup权限,(r允许容器从指定的设备读取; w允许容器从指定的设备写入; m允许容器创建尚不存在的设备文件)
- |
-
-
-
-
-- **LinuxContainerConfig**
-
- 包含特定于Linux平台的配置
-
-
- 参数成员
- |
- 描述
- |
-
- LinuxContainerResources resources
- |
- 容器的资源规范
- |
-
- LinuxContainerSecurityContext security_context
- |
- 容器的Linux容器安全配置
- |
-
-
-
-
-- **ContainerConfig**
-
- 包含用于创建容器的所有必需和可选字段
-
-
- 参数成员
- |
- 描述
- |
-
- ContainerMetadata metadata
- |
- 容器的元数据。 此信息将唯一标识容器,运行时应利用此信息来确保正确操作。 运行时也可以使用此信息来提升UX(用户体检设计),例如通过构造可读名称。(必选)
- |
-
- ImageSpec image
- |
- 容器使用的镜像 (必选)
- |
-
- repeated string command
- |
- 待执行的命令 缺省值: "/bin/sh"
- |
-
- repeated string args
- |
- 待执行命令的参数
- |
-
- string working_dir
- |
- 命令执行的当前工作路径
- |
-
- repeated KeyValue envs
- |
- 在容器中配置的环境变量
- |
-
- repeated Mount mounts
- |
- 待在容器中挂载的挂载点信息
- |
+
+
+ 参数成员
+ |
+ 描述
+ |
- repeated Device devices
+ |
+ int64 timestamp
|
- 待在容器中映射的设备信息
+ | 时间戳
|
- map<string, string> labels
+ | StorageIdentifier storage_id
|
- 可用于索引和选择单个资源的键值对。
+ | 可写层目录
|
- map<string, string> annotations
+ | UInt64Value used_bytes
|
- 可用于存储和检索任意元数据的非结构化键值映射。
+ | 镜像在可写层的占用字节
|
- string log_path
+ | UInt64Value inodes_used
|
- 相对于PodSandboxConfig.LogDirectory的路径,用于存储容器主机上的日志(STDOUT和STDERR)。
+ | 镜像在可写层的占用inode数
|
- bool stdin
+ |
+
+
+- **Device**
+
+ 指定待挂载至容器的主机卷
+
+
+ 参数成员
|
- 是否打开容器的stdin
+ | 描述
|
- bool stdin_once
+ | string container_path
|
- 当某次连接stdin的数据流断开时,是否立即断开其他与stdin连接的数据流(暂不支持)
+ | 容器内的挂载路径
|
- bool tty
+ | string host_path
|
- 是否使用伪终端连接容器的stdio
+ | 主机上的挂载路径
|
- LinuxContainerConfig linux
+ | string permissions
|
- linux系统上容器的特定配置信息
+ | 设备的Cgroup权限,(r允许容器从指定的设备读取; w允许容器从指定的设备写入; m允许容器创建尚不存在的设备文件)
|
-- **NetworkConfig**
+- **LinuxContainerConfig**
+
+ 包含特定于Linux平台的配置
- Runtime的网络配置
+ | **参数成员** | **描述** |
+ |------------------------------------------------|-------------------------|
+ | LinuxContainerResources resources | 容器的资源规范 |
+ | LinuxContainerSecurityContext security_context | 容器的Linux容器安全配置 |
-
- 参数成员
- |
- 描述
- |
-
- string pod_cidr
- |
- Pod IP 地址使用的CIDR
- |
-
-
-
+- **ContainerConfig**
+
+ 包含用于创建容器的所有必需和可选字段
+
+ | **参数成员** | **描述** |
+ |---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|
+ | ContainerMetadata metadata | 容器的元数据。 此信息将唯一标识容器,运行时应利用此信息来确保正确操作。 运行时也可以使用此信息来提升UX(用户体检设计),例如通过构造可读名称。(必选) |
+ | ImageSpec image | 容器使用的镜像 (**必选**) |
+ | repeated string command | 待执行的命令 **缺省值: "/bin/sh"** |
+ | repeated string args | 待执行命令的参数 |
+ | string working_dir | 命令执行的当前工作路径 |
+ | repeated KeyValue envs | 在容器中配置的环境变量 |
+ | repeated Mount mounts | 待在容器中挂载的挂载点信息 |
+ | repeated Device devices | 待在容器中映射的设备信息 |
+ | map\ labels | 可用于索引和选择单个资源的键值对。 |
+ | map\ annotations | 可用于存储和检索任意元数据的非结构化键值映射。 |
+ | string log_path | 相对于PodSandboxConfig.LogDirectory的路径,用于存储容器主机上的日志(STDOUT和STDERR)。 |
+ | bool stdin | 是否打开容器的stdin |
+ | bool stdin_once | 当某次连接stdin的数据流断开时,是否立即断开其他与stdin连接的数据流 **(暂不支持)** |
+ | bool tty | 是否使用伪终端连接容器的stdio |
+ | LinuxContainerConfig linux | linux系统上容器的特定配置信息 |
- **RuntimeConfig**
Runtime的网络配置
-
- 参数成员
- |
- 描述
- |
-
- NetworkConfig network_config
- |
- Runtime的网络配置
- |
-
-
-
+ | **参数成员** | **描述** |
+ |------------------------------|-------------------|
+ | NetworkConfig network_config | Runtime的网络配置 |
- **RuntimeCondition**
@@ -1669,24 +1001,10 @@ rpc RunPodSandbox(RunPodSandboxRequest) returns (RunPodSandboxResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-PodSandboxConfig config
- |
-sandbox的配置
- |
-
-string runtime_handler
- |
-指定创建sandbox的runtime运行时,当前支持lcr、kata-runtime运行时类型。
- |
-
-
-
+| **参数成员** | **描述** |
+|-------------------------|-----------------------------------------------------------------------|
+| PodSandboxConfig config | sandbox的配置 |
+| string runtime_handler | 指定创建sandbox的runtime运行时,当前支持lcr、kata-runtime运行时类型。 |
#### 返回值
@@ -1832,24 +1150,10 @@ rpc PodSandboxStatus(PodSandboxStatusRequest) returns (PodSandboxStatusResponse)
#### 返回值
-
-返回值
- |
-描述
- |
-
-PodSandboxStatus status
- |
-sandbox的状态信息
- |
-
-map<string, string> info
- |
-sandbox的额外信息,key是任意string,value是json格式的字符串,这些信息可以是任意调试内容。当verbose为true时info不能为空。(暂不支持配置)
- |
-
-
-
+| **返回值** | **描述** |
+|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
+| PodSandboxStatus status | sandbox的状态信息 |
+| map\ info | sandbox的额外信息,key是任意string,value是json格式的字符串,这些信息可以是任意调试内容。当verbose为true时info不能为空。(暂不支持配置) |
#### ListPodSandbox
@@ -1865,35 +1169,15 @@ rpc ListPodSandbox(ListPodSandboxRequest) returns (ListPodSandboxResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-PodSandboxFilter filter
- |
-条件过滤参数
- |
-
-
-
+| **参数成员** | **描述** |
+|-------------------------|--------------|
+| PodSandboxFilter filter | 条件过滤参数 |
#### 返回值
-
-返回值
- |
-描述
- |
-
-repeated PodSandbox items
- |
-sandbox信息的列表
- |
-
-
-
+| **返回值** | **描述** |
+|---------------------------|-------------------|
+| repeated PodSandbox items | sandbox信息的列表 |
#### CreateContainer
@@ -1915,29 +1199,11 @@ rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-string pod_sandbox_id
- |
-待在其中创建容器的PodSandbox的ID。
- |
-
-ContainerConfig config
- |
-容器的配置信息
- |
-
-PodSandboxConfig sandbox_config
- |
-PodSandbox的配置信息
- |
-
-
-
+| **参数成员** | **描述** |
+|---------------------------------|------------------------------------|
+| string pod_sandbox_id | 待在其中创建容器的PodSandbox的ID。 |
+| ContainerConfig config | 容器的配置信息 |
+| PodSandboxConfig sandbox_config | PodSandbox的配置信息 |
#### 补充
@@ -2102,35 +1368,15 @@ rpc ListContainers(ListContainersRequest) returns (ListContainersResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-ContainerFilter filter
- |
-条件过滤参数
- |
-
-
-
+| **参数成员** | **描述** |
+|------------------------|--------------|
+| ContainerFilter filter | 条件过滤参数 |
#### 返回值
-
-返回值
- |
-描述
- |
-
-repeated Container containers
- |
-容器信息的列表
- |
-
-
-
+| **返回值** | **描述** |
+|-------------------------------|----------------|
+| repeated Container containers | 容器信息的列表 |
#### ContainerStatus
@@ -2167,24 +1413,10 @@ rpc ContainerStatus(ContainerStatusRequest) returns (ContainerStatusResponse) {}
#### 返回值
-
-返回值
- |
-描述
- |
-
-ContainerStatus status
- |
-容器的状态信息
- |
-
-map<string, string> info
- |
-sandbox的额外信息,key是任意string,value是json格式的字符串,这些信息可以是任意调试内容。当verbose为true时info不能为空。(暂不支持配置)
- |
-
-
-
+| **返回值** | **描述** |
+|--------------------------|------------------------------------------------------------------------------------------------------------------------------------------|
+| ContainerStatus status | 容器的状态信息 |
+| map\ info | sandbox的额外信息,key是任意string,value是json格式的字符串,这些信息可以是任意调试内容。当verbose为true时info不能为空。(暂不支持配置) |
#### UpdateContainerResources
@@ -2205,24 +1437,10 @@ rpc UpdateContainerResources(UpdateContainerResourcesRequest) returns (UpdateCon
#### 参数
-
-参数成员
- |
-描述
- |
-
-string container_id
- |
-容器id
- |
-
-LinuxContainerResources linux
- |
-linux资源配置信息
- |
-
-
-
+| **参数成员** | **描述** |
+|-------------------------------|-------------------|
+| string container_id | 容器id |
+| LinuxContainerResources linux | linux资源配置信息 |
#### 返回值
@@ -2463,19 +1681,9 @@ rpc ContainerStats(ContainerStatsRequest) returns (ContainerStatsResponse) {}
#### 返回值
-
-返回值
- |
-描述
- |
-
-ContainerStats stats
- |
-容器信息。注:disk和inodes只支持oci格式镜像起的容器查询
- |
-
-
-
+| **返回值** | **描述** |
+|----------------------|---------------------------------------------------------|
+| ContainerStats stats | 容器信息。 注:disk和inodes只支持oci格式镜像起的容器查询 |
#### ListContainerStats
@@ -2491,35 +1699,15 @@ rpc ListContainerStats(ListContainerStatsRequest) returns (ListContainerStatsRes
#### 参数
-
-参数成员
- |
-描述
- |
-
-ContainerStatsFilter filter
- |
-条件过滤参数
- |
-
-
-
+| **参数成员** | **描述** |
+|-----------------------------|--------------|
+| ContainerStatsFilter filter | 条件过滤参数 |
#### 返回值
-
-返回值
- |
-描述
- |
-
-repeated ContainerStats stats
- |
-容器信息的列表。注:disk和inodes只支持oci格式镜像启动的容器查询
- |
-
-
-
+| **返回值** | **描述** |
+|-------------------------------|-----------------------------------------------------------------|
+| repeated ContainerStats stats | 容器信息的列表。注:disk和inodes只支持oci格式镜像启动的容器查询 |
#### UpdateRuntimeConfig
@@ -2539,19 +1727,9 @@ rpc UpdateRuntimeConfig(UpdateRuntimeConfigRequest) returns (UpdateRuntimeConfig
#### 参数
-
-参数成员
- |
-描述
- |
-
-RuntimeConfig runtime_config
- |
-包含Runtime要配置的信息
- |
-
-
-
+| **参数成员** | **描述** |
+|------------------------------|-------------------------|
+| RuntimeConfig runtime_config | 包含Runtime要配置的信息 |
#### 返回值
@@ -2591,24 +1769,10 @@ rpc Status(StatusRequest) returns (StatusResponse) {};
#### 返回值
-
-返回值
- |
-描述
- |
-
-RuntimeStatus status
- |
-Runtime的状态
- |
-
-map<string, string> info
- |
-Runtime额外的信息,info的key为任意值,value为json格式,可包含任何debug信息;只有Verbose为true是才应该被赋值
- |
-
-
-
+| **返回值** | **描述** |
+|--------------------------|-------------------------------------------------------------------------------------------------------------|
+| RuntimeStatus status | Runtime的状态 |
+| map\ info | Runtime额外的信息,info的key为任意值,value为json格式,可包含任何debug信息;只有Verbose为true是才应该被赋值 |
### Image服务
@@ -2635,35 +1799,15 @@ rpc ListImages(ListImagesRequest) returns (ListImagesResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-ImageSpec filter
- |
-筛选的镜像名称
- |
-
-
-
+| **参数成员** | **描述** |
+|------------------|----------------|
+| ImageSpec filter | 筛选的镜像名称 |
#### 返回值
-
-返回值
- |
-描述
- |
-
-repeated Image images
- |
-镜像信息列表
- |
-
-
-
+| **返回值** | **描述** |
+|-----------------------|--------------|
+| repeated Image images | 镜像信息列表 |
#### ImageStatus
@@ -2684,45 +1828,17 @@ rpc ImageStatus(ImageStatusRequest) returns (ImageStatusResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-ImageSpec image
- |
-镜像名称
- |
-
-bool verbose
- |
-查询额外信息,暂不支持,无额外信息返回
- |
-
-
-
+| **参数成员** | **描述** |
+|-----------------|----------------------------------------|
+| ImageSpec image | 镜像名称 |
+| bool verbose | 查询额外信息,暂不支持,无额外信息返回 |
#### 返回值
-
-返回值
- |
-描述
- |
-
-Image image
- |
-镜像信息
- |
-
-map<string, string> info
- |
-镜像额外信息,暂不支持,无额外信息返回
- |
-
-
-
+| **返回值** | **描述** |
+|--------------------------|----------------------------------------|
+| Image image | 镜像信息 |
+| map\ info | 镜像额外信息,暂不支持,无额外信息返回 |
#### PullImage
@@ -2742,29 +1858,11 @@ rpc ImageStatus(ImageStatusRequest) returns (ImageStatusResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-ImageSpec image
- |
-要下载的镜像名称
- |
-
-AuthConfig auth
- |
-下载私有镜像时的验证信息
- |
-
-PodSandboxConfig sandbox_config
- |
-在Pod上下文中下载镜像(暂不支持)
- |
-
-
-
+| **参数成员** | **描述** |
+|---------------------------------|-----------------------------------|
+| ImageSpec image | 要下载的镜像名称 |
+| AuthConfig auth | 下载私有镜像时的验证信息 |
+| PodSandboxConfig sandbox_config | 在Pod上下文中下载镜像(暂不支持) |
#### 返回值
@@ -2800,19 +1898,9 @@ rpc RemoveImage(RemoveImageRequest) returns (RemoveImageResponse) {}
#### 参数
-
-参数成员
- |
-描述
- |
-
-ImageSpec image
- |
-要删除的镜像名称或者ID
- |
-
-
-
+| **参数成员** | **描述** |
+|-----------------|------------------------|
+| ImageSpec image | 要删除的镜像名称或者ID |
#### 返回值
@@ -2840,19 +1928,9 @@ rpc ImageFsInfo(ImageFsInfoRequest) returns (ImageFsInfoResponse) {}
#### 返回值
-
-返回值
- |
-描述
- |
-
-repeated FilesystemUsage image_filesystems
- |
-镜像存储文件系统信息
- |
-
-
-
+| **返回值** | **描述** |
+|--------------------------------------------|----------------------|
+| repeated FilesystemUsage image_filesystems | 镜像存储文件系统信息 |
### 约束
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/CRI-v1\346\216\245\345\217\243.md" b/docs/zh/docs/container_engine/isula_container_engine/cri_2.md
similarity index 99%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/CRI-v1\346\216\245\345\217\243.md"
rename to docs/zh/docs/container_engine/isula_container_engine/cri_2.md
index 43b93852948f969d9eeccbbcc2939751f2b2d112..52f1df63d11dc6a8746d4308016b6f9b05316146 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/CRI-v1\346\216\245\345\217\243.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/cri_2.md
@@ -5,8 +5,8 @@
CRI(Container Runtime Interface, 容器运行时接口)是kublet与容器引擎通信使用的主要协议。
在K8S 1.25及之前,K8S存在CRI v1alpha2 和 CRI V1两种版本的CRI接口,但从1.26开始,K8S仅提供对于CRI V1的支持。
-iSulad同时提供对[CRI v1alpha2](./CRI-v1alpha2接口.md)和CRI v1的支持,
-对于CRI v1,iSulad支持[CRI v1alpha2](./CRI-v1alpha2接口.md)所述功能,
+iSulad同时提供对[CRI v1alpha2](./cri.md)和CRI v1的支持,
+对于CRI v1,iSulad支持[CRI v1alpha2](./cri.md)所述功能,
并提供对CRI V1中所定义新接口和字段的支持。
目前iSulad支持的CRI V1版本为1.29,对应官网描述API如下:
diff --git a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/figures/zh-cn_image_0183048952.png b/docs/zh/docs/container_engine/isula_container_engine/figures/zh-cn_image_0183048952.png
similarity index 100%
rename from docs/zh/docs/ContainerEngine/iSulaContainerEngine/figures/zh-cn_image_0183048952.png
rename to docs/zh/docs/container_engine/isula_container_engine/figures/zh-cn_image_0183048952.png
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\351\225\234\345\203\217\347\256\241\347\220\206.md" b/docs/zh/docs/container_engine/isula_container_engine/image_management.md
similarity index 90%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\351\225\234\345\203\217\347\256\241\347\220\206.md"
rename to docs/zh/docs/container_engine/isula_container_engine/image_management.md
index 5824b3bf6bf347b0833e2302509ba6333c48bb83..df14898899ee847c67ed2e55e2607a0406a1b319 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\351\225\234\345\203\217\347\256\241\347\220\206.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/image_management.md
@@ -1,25 +1,5 @@
# 镜像管理
-
-
-- [镜像管理](#镜像管理)
- - [docker镜像管理](#docker镜像管理)
- - [登录到镜像仓库](#登录到镜像仓库)
- - [从镜像仓库退出登录](#从镜像仓库退出登录)
- - [从镜像仓库拉取镜像](#从镜像仓库拉取镜像)
- - [删除镜像](#删除镜像)
- - [加载镜像](#加载镜像)
- - [列出镜像](#列出镜像)
- - [检视镜像](#检视镜像)
- - [双向认证](#双向认证)
- - [embedded镜像管理](#embedded镜像管理)
- - [加载镜像](#加载镜像-1)
- - [列出镜像](#列出镜像-1)
- - [检视镜像](#检视镜像-1)
- - [删除镜像](#删除镜像-1)
-
-
-
## docker镜像管理
### 登录到镜像仓库
@@ -30,7 +10,7 @@ isula login命令用于登录到镜像仓库。登录成功后可以使用isula
#### 用法
-```bash
+```sh
isula login [OPTIONS] SERVER
```
@@ -40,7 +20,7 @@ login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表1
#### 示例
-```bash
+```sh
$ isula login -u abc my.csp-edge.com:5000
Login Succeeded
@@ -54,7 +34,7 @@ isula logout命令用于从镜像仓库退出登录。退出登录成功后再
#### 用法
-```bash
+```sh
isula logout SERVER
```
@@ -64,7 +44,7 @@ logout命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表
#### 示例
-```bash
+```sh
$ isula logout my.csp-edge.com:5000
Logout Succeeded
```
@@ -77,7 +57,7 @@ Logout Succeeded
#### 用法
-```bash
+```sh
isula pull [OPTIONS] NAME[:TAG]
```
@@ -87,7 +67,7 @@ login命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表3
#### 示例
-```bash
+```sh
$ isula pull localhost:5000/official/busybox
Image "localhost:5000/official/busybox" pulling
Image "localhost:5000/official/busybox@sha256:bf510723d2cd2d4e3f5ce7e93bf1e52c8fd76831995ac3bd3f90ecc866643aff" pulled
@@ -101,7 +81,7 @@ Image "localhost:5000/official/busybox@sha256:bf510723d2cd2d4e3f5ce7e93bf1e52c8f
#### 用法
-```bash
+```sh
isula rmi [OPTIONS] IMAGE [IMAGE...]
```
@@ -111,7 +91,7 @@ rmi命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 r
#### 示例
-```bash
+```sh
$ isula rmi rnd-dockerhub.huawei.com/official/busybox
Image "rnd-dockerhub.huawei.com/official/busybox" removed
```
@@ -124,7 +104,7 @@ tag命令用于添加镜像标签
#### 用法
-```bash
+```sh
isula tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
```
@@ -134,7 +114,7 @@ tag命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表8 t
#### 示例
-```bash
+```sh
$ isula tag busybox:latest test:latest
```
@@ -146,7 +126,7 @@ $ isula tag busybox:latest test:latest
#### 用法
-```bash
+```sh
isula load [OPTIONS]
```
@@ -156,7 +136,7 @@ load命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5
#### 示例
-```bash
+```sh
$ isula load -i busybox.tar
Load image from "/root/busybox.tar" success
```
@@ -169,7 +149,7 @@ Load image from "/root/busybox.tar" success
#### 用法
-```bash
+```sh
isula images [OPTIONS]
```
@@ -179,7 +159,7 @@ images命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表
#### 示例
-```bash
+```sh
$ isula images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest beae173ccac6 2021-12-31 03:19:41 1.184MB
@@ -193,7 +173,7 @@ busybox latest beae173ccac6 202
#### 用法
-```bash
+```sh
isula inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...]
```
@@ -203,7 +183,7 @@ inspect命令支持参数请参见"附录 > 命令行参数说明" 章节的 "
#### 示例
-```bash
+```sh
$ isula inspect -f "{{json .image.id}}" rnd-dockerhub.huawei.com/official/busybox
"e4db68de4ff27c2adfea0c54bbb73a61a42f5b667c326de4d7d5b19ab71c6a3b"
```
@@ -229,7 +209,7 @@ $ isula inspect -f "{{json .image.id}}" rnd-dockerhub.huawei.com/official/busybo
可以在/etc/isulad/daemon.json中配置参数,也可以在启动isulad时携带参数:
-```bash
+```sh
isulad --use-decrypted-key=false
```
@@ -237,7 +217,7 @@ isulad --use-decrypted-key=false
配置use-decrypted-key参数为false
-```bash
+```sh
$ cat /etc/isulad/daemon.json
{
"group": "isulad",
@@ -279,7 +259,7 @@ $ cat /etc/isulad/daemon.json
将证书放到对应的目录下
-```bash
+```sh
$ pwd
/etc/isulad/certs.d/my.csp-edge.com:5000
$ ls
@@ -288,13 +268,13 @@ ca.crt tls.cert tls.key
重启isulad
-```bash
+```sh
$ systemctl restart isulad
```
执行pull命令从仓库下载镜像
-```bash
+```sh
$ isula pull my.csp-edge.com:5000/busybox
Image "my.csp-edge.com:5000/busybox" pulling
Image "my.csp-edge.com:5000/busybox@sha256:f1bdc62115dbfe8f54e52e19795ee34b4473babdeb9bc4f83045d85c7b2ad5c0" pulled
@@ -309,7 +289,7 @@ Image "my.csp-edge.com:5000/busybox@sha256:f1bdc62115dbfe8f54e52e19795ee34b4473b
#### 用法
-```bash
+```sh
isula import file REPOSITORY[:TAG]
```
@@ -321,7 +301,7 @@ import命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表
#### 示例
-```bash
+```sh
$ isula import busybox.tar test
sha256:441851e38dad32478e6609a81fac93ca082b64b366643bafb7a8ba398301839d
$ isula images
@@ -337,7 +317,7 @@ test latest 441851e38dad 2020-09-01 11:14:35 1.168 MB
#### 用法
-```bash
+```sh
isula export [OPTIONS] [ID|NAME]
```
@@ -347,7 +327,7 @@ export命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表
#### 示例
-```bash
+```sh
$ isula run -tid --name container_test test sh
d7e601c2ef3eb8d378276d2b42f9e58a2f36763539d3bfcaf3a0a77dc668064b
$ isula export -o rootfs.tar d7e601c
@@ -365,7 +345,7 @@ rootfs.tar
#### 用法
-```bash
+```sh
isula load [OPTIONS] --input=FILE --type=TYPE
```
@@ -375,7 +355,7 @@ load命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表5
#### 示例
-```bash
+```sh
$ isula load -i test.manifest --type embedded
Load image from "/root/work/bugfix/tmp/ci_testcase_data/embedded/img/test.manifest" success
```
@@ -388,7 +368,7 @@ Load image from "/root/work/bugfix/tmp/ci_testcase_data/embedded/img/test.manife
#### 用法
-```bash
+```sh
isula images [OPTIONS]
```
@@ -398,7 +378,7 @@ images命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表
#### 示例
-```bash
+```sh
$ isula images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest beae173ccac6 2021-12-31 03:19:41 1.184MB
@@ -412,7 +392,7 @@ busybox latest beae173ccac6 202
#### 用法
-```bash
+```sh
isula inspect [options] CONTAINER|IMAGE [CONTAINER|IMAGE...]
```
@@ -422,7 +402,7 @@ inspect命令支持参数请参见"附录 > 命令行参数说明" 章节的 "
#### 示例
-```bash
+```sh
$ isula inspect -f "{{json .created}}" test:v1
"2018-03-01T15:55:44.322987811Z"
```
@@ -435,7 +415,7 @@ $ isula inspect -f "{{json .created}}" test:v1
#### 用法
-```bash
+```sh
isula rmi [OPTIONS] IMAGE [IMAGE...]
```
@@ -445,7 +425,7 @@ rmi命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表4 r
#### 示例
-```bash
+```sh
$ isula rmi test:v1
Image "test:v1" removed
```
@@ -458,7 +438,7 @@ Image "test:v1" removed
#### 用法
-```bash
+```sh
isula tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
```
@@ -468,7 +448,7 @@ tag命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表8 t
#### 示例
-```bash
+```sh
$ isula tag test:v1 test:v2
```
@@ -480,7 +460,7 @@ $ isula tag test:v1 test:v2
#### 用法
-```bash
+```sh
isula export [command options] [ID|NAME]
```
@@ -490,6 +470,6 @@ export命令支持参数请参见"附录 > 命令行参数说明" 章节的 "表
#### 示例
-```bash
+```sh
$ isula export -o test.tar containername
```
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md" b/docs/zh/docs/container_engine/isula_container_engine/installation_configuration.md
similarity index 99%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md"
rename to docs/zh/docs/container_engine/isula_container_engine/installation_configuration.md
index 1321cfeead20d86f8d6ec331d67685b01e1692bf..9758f2a60e227ae6bcb47476676a7892ba899783 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/installation_configuration.md
@@ -1,7 +1,8 @@
# 安装与配置
本章介绍iSulad的安装、安装后配置,以及升级和卸载的方法。
->  **说明:**
+> [!NOTE]说明
+>
> iSulad的安装、升级、卸载均需要使用root权限。
## 安装方法
@@ -16,7 +17,7 @@ iSulad可以通过yum或rpm命令两种方式安装,由于yum会自动安装
# sudo yum install -y iSulad
```
-- 使用rpm安装iSulad,需要下载iSulad及其所有依赖的RPM包,然后手动安装。安装单个iSulad的RPM包(依赖包安装方式相同),参考命令如下:
+- 使用rpm安装iSulad,需要下载iSulad及其所有依赖库的RPM包,然后手动安装。安装单个iSulad的RPM包(依赖包安装方式相同),参考命令如下:
```bash
# sudo rpm -ihv iSulad-xx.xx.xx-xx.xxx.aarch64.rpm
@@ -30,8 +31,9 @@ iSulad 安装完成后,可以根据需要进行相关配置。
轻量级容器引擎(iSulad)服务端daemon为isulad,isulad可以通过配置文件进行配置,也可以通过命令行的方式进行配置,例如:isulad --xxx,优先级从高到低是:命令行方式\>配置文件\>代码中默认配置。
-> **说明:**
->如果采用systemd管理iSulad进程,修改/etc/sysconfig/iSulad文件中的OPTIONS字段,等同于命令行方式进行配置。
+> [!NOTE]说明
+>
+> 如果采用systemd管理iSulad进程,修改/etc/sysconfig/iSulad文件中的OPTIONS字段,等同于命令行方式进行配置。
- **命令行方式**
@@ -60,7 +62,7 @@ iSulad 安装完成后,可以根据需要进行相关配置。
--help Show help
--hook-spec Default hook spec file applied to all containers
-H, --host The socket name used to create gRPC server
- --image-layer-check Check layer intergrity when needed
+ --image-layer-check Check layer integrity when needed
--insecure-registry Disable TLS verification for the given registry
--insecure-skip-verify-enforce Force to skip the insecure verify(default false)
--log-driver Set daemon log driver, such as: file
@@ -544,7 +546,8 @@ iSulad 安装完成后,可以根据需要进行相关配置。
```
- >  **须知:**
+ > [!TIP]须知
+ >
> 默认配置文件/etc/isulad/daemon.json仅供参考,请根据实际需要进行配置。
### 存储说明
@@ -637,7 +640,8 @@ iSulad 安装完成后,可以根据需要进行相关配置。
- 日志文件管理:
- >  **须知:**
+ > [!TIP]须知
+ >
> 日志功能对接: iSulad由systemd管理,日志也由systemd管理,然后传输给rsyslogd。rsyslog默认会对写日志速度有限制,可以通过修改/etc/rsyslog.conf文件,增加"$imjournalRatelimitInterval 0"配置项,然后重启rsyslogd的服务即可。
- 命令行参数解析限制
@@ -828,7 +832,7 @@ iSulad采用C/S模式进行设计,在默认情况,iSulad守护进程isulad
如果需要采用单向认证方式进行通讯,则服务端采用模式2,客户端采用模式2。
->  **须知:**
+> [!TIP]须知
>
> - 采用RPM安装方式时,服务端配置可通过/etc/isulad/daemon.json以及/etc/sysconfig/iSulad配置修改。
> - 相比非认证或者单向认证方式,双向认证具备更高的安全性,推荐使用双向认证的方式进行通讯。
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\350\243\205-\345\215\207\347\272\247\344\270\216\345\215\270\350\275\275.md" b/docs/zh/docs/container_engine/isula_container_engine/installation_upgrade_uninstallation.md
similarity index 100%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\350\243\205-\345\215\207\347\272\247\344\270\216\345\215\270\350\275\275.md"
rename to docs/zh/docs/container_engine/isula_container_engine/installation_upgrade_uninstallation.md
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/iSula-shim-v2\345\257\271\346\216\245stratovirt.md" b/docs/zh/docs/container_engine/isula_container_engine/interconnecting_isula_shim_v2_with_stratovirt.md
old mode 100755
new mode 100644
similarity index 96%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/iSula-shim-v2\345\257\271\346\216\245stratovirt.md"
rename to docs/zh/docs/container_engine/isula_container_engine/interconnecting_isula_shim_v2_with_stratovirt.md
index 8fd9ec2e3582db9ef5246496b9bad7a28dcae581..845b80fe757a570d4423da89cb668122891bb009
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/iSula-shim-v2\345\257\271\346\216\245stratovirt.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/interconnecting_isula_shim_v2_with_stratovirt.md
@@ -115,7 +115,7 @@ iSula 对接 containerd-shim-kata-v2 前,需要满足如下前提:
若回显有如下信息,说明配置成功。
- ```text
+ ```sh
Storage Driver: devicemapper
```
@@ -133,7 +133,7 @@ containerd-shim-kata-v2 使用的虚拟化组件为 QEMU 时,iSula 对接 cont
sandbox_cgroup_with_emulator 需要设置为 false, 目前 shimv2 不支该改功能, 其他参数与 shim v1 中 kata 配置参数保持一致或者保持缺省值。
- ```conf
+ ```sh
sandbox_cgroup_with_emulator = false
```
@@ -196,14 +196,14 @@ containerd-shim-kata-v2 使用的虚拟化组件为 StratoVirt 时,iSula 对
$ lsmod |grep vhost_vsock
```
- 下载对应版本和架构的 kernel 并放到 /var/lib/kata/ 路径下, 如下载 openEuler 21.03 版本 x86 架构的内核 [openeuler repo]():
+ 下载对应版本和架构的 kernel 并放到 /var/lib/kata/ 路径下, [openeuler repo](https://repo.openeuler.org/):
```bash
$ cd /var/lib/kata
- $ wget https://archives.openeuler.openatom.cn/openEuler-21.03/stratovirt_img/x86_64/vmlinux.bin
+ $ wget https://dl-cdn.openeuler.openatom.cn/openEuler-24.03-LTS-SP1/stratovirt_img/x86_64/vmlinux.bin
```
-3. 使用 busybox 镜像运行安全容器并检查使用的 runtime 为 io.containerd.kata.v2
+3. 使用 busybox 镜像运行安全容器并检查使用的 runtime 为 io.containerd.kata.v2
```bash
$ id=`isula run -tid busybox sh`
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\224\257\346\214\201CNI\347\275\221\347\273\234.md" b/docs/zh/docs/container_engine/isula_container_engine/interconnection_with_the_cni_network.md
similarity index 99%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\224\257\346\214\201CNI\347\275\221\347\273\234.md"
rename to docs/zh/docs/container_engine/isula_container_engine/interconnection_with_the_cni_network.md
index 5c683aeb92bd69eb15af55ba12c0c07b09166a87..8ceda130d345fb5c219e186449a4ed5380d16c03 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\224\257\346\214\201CNI\347\275\221\347\273\234.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/interconnection_with_the_cni_network.md
@@ -108,7 +108,7 @@ Pod配置中和网络相关的还有port\_mappings项,用于设置Pod的端口
StopPodSandbox的时候,会调用退出CNI网络的接口,清理网络相关的资源。
-> **说明:**
+>[!NOTE]说明
>
> - 在调用RemovePodSandbox接口之前,至少要调用一次StopPodSandbox接口。
> - StopPodSandbox调用CNI接口失败,导致的网络资源残留,由CNI网络插件负责清理。
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/iSulad\346\224\257\346\214\201CDI.md" b/docs/zh/docs/container_engine/isula_container_engine/isulad_support_cdi.md
similarity index 85%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/iSulad\346\224\257\346\214\201CDI.md"
rename to docs/zh/docs/container_engine/isula_container_engine/isulad_support_cdi.md
index d8bbd45676bf232bda8d30c409cd9d8f3e5d6501..739374de8cd4fe99bc2d5f22d05b2d705ca993db 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/iSulad\346\224\257\346\214\201CDI.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/isulad_support_cdi.md
@@ -1,120 +1,120 @@
-# iSulad支持CDI
-
-## 概述
-
-CDI(Container Device Interface,容器设备接口)是容器运行时的一种规范,用于支持第三方设备。
-
-CDI解决了如下问题:
-在Linux上,为了使容器具有设备感知能力,过去只需在该容器中暴露一个设备节点。但是,随着设备和软件变得越来越复杂,供应商希望执行更多的操作,例如:
-
-- 向容器公开设备可能需要公开多个设备节点、从运行时命名空间挂载文件或隐藏procfs条目。
-- 执行容器和设备之间的兼容性检查(例如:检查容器是否可以在指定设备上运行)。
-- 执行特定于运行时的操作(例如:虚拟机与基于Linux容器的运行时)。
-- 执行特定于设备的操作(例如:清理GPU的内存或重新配置FPGA)。
-
-在缺乏第三方设备标准的情况下,供应商通常不得不为不同的运行时编写和维护多个插件,甚至直接在运行时中贡献特定于供应商的代码。此外,运行时不统一地暴露插件系统(甚至根本不暴露插件系统),导致在更高级别的抽象(例如Kubernetes设备插件)中重复功能。
-
-CDI解决上述问题的方法:
-CDI描述了一种允许第三方供应商与设备交互的机制,从而不需要更改容器运行时。
-
-使用的机制是一个JSON文件(类似于容器网络接口(CNI)),它允许供应商描述容器运行时应该对容器的OCI规范执行的操作。
-
-iSulad目前已支持[CDI v0.6.0](https://github.com/cncf-tags/container-device-interface/blob/v0.6.0/SPEC.md)规范。
-
-## 配置iSulad支持CDI
-
-需要对daemon.json做如下配置,然后重启iSulad:
-
-```json
-{
- ...
- "enable-cri-v1": true,
- "cdi-spec-dirs": ["/etc/cdi", "/var/run/cdi"],
- "enable-cdi": true
-}
-```
-
-其中"cdi-spec-dirs"用于指定CDI specs所在目录,如果不指定则默认为"/etc/cdi", "/var/run/cdi"。
-
-## 使用示例
-
-### CDI specification实例
-
-具体每个字段含义详见[CDI v0.6.0](https://github.com/cncf-tags/container-device-interface/blob/v0.6.0/SPEC.md)
-
-```bash
-$ mkdir /etc/cdi
-$ cat > /etc/cdi/vendor.json < /etc/cdi/vendor.json <
+Capability Key
+ |
+Capability Description
+ |
+
+
+SETPCAP
+ |
+修改进程权能
+ |
+
+MKNOD
+ |
+允许使用mknod()系统调用创建特殊文件
+ |
+
+AUDIT_WRITE
+ |
+向内核审计日志写记录
+ |
+
+CHOWN
+ |
+对文件的 UIDs 和 GIDs 做任意的修改(参考 chown(2))
+ |
+
+NET_RAW
+ |
+使用 RAW 和 PACKET sockets;为透明代理绑定任何地址
+ |
+
+DAC_OVERRIDE
+ |
+忽略文件的DAC访问限制
+ |
+
+FOWNER
+ |
+忽略文件属主ID必须和进程用户ID相匹配的限制
+ |
+
+FSETID
+ |
+允许设置文件的setuid位
+ |
+
+KILL
+ |
+允许对不属于自己的进程发送信号
+ |
+
+SETGID
+ |
+允许改变进程的组ID
+ |
+
+SETUID
+ |
+允许改变进程的用户ID
+ |
+
+NET_BIND_SERVICE
+ |
+允许绑定到小于1024的端口
+ |
+
+SYS_CHROOT
+ |
+允许使用chroot()系统调用
+ |
+
+SETFCAP
+ |
+允许向其他进程转移能力以及删除其他进程的能力
+ |
+
+
+
+
+当容器为特权模式时,将添加以下权能
+
+
+Capability Key
+ |
+Capability Description
+ |
+
+
+SYS_MODULE
+ |
+加载和卸载内核模块
+ |
+
+SYS_RAWIO
+ |
+允许直接访问/devport,/dev/mem,/dev/kmem及原始块设备
+ |
+
+SYS_PACCT
+ |
+允许执行进程的BSD式审计
+ |
+
+SYS_ADMIN
+ |
+允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等
+ |
+
+SYS_NICE
+ |
+允许提升优先级及设置其他进程的优先级
+ |
+
+SYS_RESOURCE
+ |
+忽略资源限制
+ |
+
+SYS_TIME
+ |
+允许改变系统时钟
+ |
+
+SYS_TTY_CONFIG
+ |
+允许配置TTY设备
+ |
+
+AUDIT_CONTROL
+ |
+启用和禁用内核审计;修改审计过滤器规则;提取审计状态和过滤规则
+ |
+
+MAC_ADMIN
+ |
+覆盖强制访问控制 (Mandatory Access Control (MAC)),为Smack Linux安全模块(Linux Security Module (LSM)) 而实现
+ |
+
+MAC_OVERRIDE
+ |
+允许 MAC 配置或状态改变。为 Smack LSM 而实现
+ |
+
+NET_ADMIN
+ |
+允许执行网络管理任务
+ |
+
+SYSLOG
+ |
+执行特权 syslog(2) 操作
+ |
+
+DAC_READ_SEARCH
+ |
+忽略文件读及目录搜索的DAC访问限制
+ |
+
+LINUX_IMMUTABLE
+ |
+允许修改文件的IMMUTABLE和APPEND属性标志
+ |
+
+NET_BROADCAST
+ |
+允许网络广播和多播访问
+ |
+
+IPC_LOCK
+ |
+允许锁定共享内存片段
+ |
+
+IPC_OWNER
+ |
+忽略IPC所有权检查
+ |
+
+SYS_PTRACE
+ |
+允许跟踪任何进程
+ |
+
+SYS_BOOT
+ |
+允许重新启动系统
+ |
+
+LEASE
+ |
+允许修改文件锁的FL_LEASE标志
+ |
+
+WAKE_ALARM
+ |
+触发将唤醒系统的功能,如设置 CLOCK_REALTIME_ALARM 和 CLOCK_BOOTTIME_ALARM 定时器
+ |
+
+BLOCK_SUSPEND
+ |
+可以阻塞系统挂起的特性
+ |
+
+
+
+
+## 使用指导
+
+iSulad使用--privileged给容器添加特权模式,在非必要情况下,不要给容器添加特权,遵循最小特权原则,减少存在的安全风险。
+
+```sh
+isula run --rm -it --privileged busybox
+```
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\237\245\350\257\242\344\277\241\346\201\257.md" b/docs/zh/docs/container_engine/isula_container_engine/query_information.md
similarity index 88%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\237\245\350\257\242\344\277\241\346\201\257.md"
rename to docs/zh/docs/container_engine/isula_container_engine/query_information.md
index e6f485be203565724baadd5e59b77c4541bc8bd0..48e10e011d4e955e1d295a290ae8b1868c41cb5f 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\237\245\350\257\242\344\277\241\346\201\257.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/query_information.md
@@ -1,9 +1,5 @@
# 查询信息
-- [查询信息](#查询信息)
- - [查询服务版本信息](#查询服务版本信息)
- - [查询系统级信息](#查询系统级信息)
-
## 查询信息
## 查询服务版本信息
@@ -14,7 +10,7 @@ isula version 命令用于查询iSulad服务的版本信息。
### 用法
-```bash
+```shell
isula version
```
@@ -22,13 +18,13 @@ isula version
查询版本信息
-```bash
+```shell
isula version
```
如果isulad服务正常运行,则可以查看到客户端、服务端以及OCI config的版本等信息。
-```text
+```shell
Client:
Version: 1.0.31
Git commit: fa7f9902738e8b3d7f2eb22768b9a1372ddd1199
@@ -46,7 +42,7 @@ OCI config:
若isulad服务未运行,则仅仅查询到客户端的信息,并提示无法连接到服务端。
-```text
+```shell
Client:
Version: 1.0.31
Git commit: fa7f9902738e8b3d7f2eb22768b9a1372ddd1199
@@ -65,7 +61,7 @@ isula info命令用于对系统级信息,以及容器和镜像数目等信息
### 用法
-```bash
+```shell
isula info
```
@@ -73,7 +69,7 @@ isula info
查询系统级信息,可以展示容器数目,镜像数目,内核版本、操作系统等信息
-```bash
+```shell
# isula info
Containers: 2
Running: 0
@@ -82,7 +78,7 @@ Containers: 2
Images: 8
Server Version: 1.0.31
Logging Driver: json-file
-Cgroup Driverr: cgroupfs
+Cgroup Driver: cgroupfs
Hugetlb Pagesize: 2MB
Kernel Version: 4.19
Operating System: Fedora 29 (Twenty Nine)
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\345\205\250\347\211\271\346\200\247.md" b/docs/zh/docs/container_engine/isula_container_engine/security_features.md
similarity index 95%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\345\205\250\347\211\271\346\200\247.md"
rename to docs/zh/docs/container_engine/isula_container_engine/security_features.md
index a8b45fb43934d6719096f66e285105b03811348f..b43a097b44023e8357bfbe63a8c70a90689d682a 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\256\211\345\205\250\347\211\271\346\200\247.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/security_features.md
@@ -1,10 +1,5 @@
# 安全特性
-- [安全特性](#安全特性.md)
- - [seccomp安全配置场景](#seccomp安全配置场景)
- - [capabilities安全配置场景](#capabilities安全配置场景)
- - [SELinux安全配置场景](#selinux安全配置场景)
-
## seccomp安全配置场景
### 场景说明
@@ -35,7 +30,7 @@ seccomp(**secure computing** **mode**)是linux kernel从2.6.23版本开始
isula run -itd --security-opt seccomp=/path/to/seccomp/profile.json rnd-dockerhub.huawei.com/official/busybox
```
->  **说明:**
+> [!NOTE]说明
>
> - 创建容器时通过--security-opt将配置文件传给容器时,采用默认配置文件(/etc/isulad/seccomp\_default.json)。
> - 创建容器时--security-opt设置为unconfined时,对容器不过滤系统调用。
@@ -121,7 +116,7 @@ isula run --rm -it --security-opt seccomp:/path/to/seccomp/profile.json rnd-dock
}
```
->  **须知:**
+> [!TIP]须知
>
> - defaultAction、syscalls:对应的action的类型是一样的,但其值是不能一样的,目的就是让所有的syscall都有一个默认的action,并且如果syscalls数组中有明确的定义,就以syscalls中的为准,由于defaultAction、action的值不一样,就能保证action不会有冲突。当前支持的action有:
> - "SCMP\_ACT\_ERRNO":禁止,并打印错误信息。
@@ -203,7 +198,7 @@ SELinux\(Security-Enhanced Linux\)是一个Linux内核的安全模块,提供
- 引入SELinux会影响性能,设置SELinux之前需要对场景进行评估,确定必要时打开daemon端SELinux开关并设置容器SELinux配置
- 对挂载卷进行标签配置时,源目录不允许为/、/usr、/etc、/tmp、/home、/run、/var、/root以及/usr的子目录。
->  **说明:**
+> [!NOTE]说明
>
> - 目前iSulad不支持对容器的文件系统打标签,确保容器文件系统及配置目录打上容器可访问标签,需使用chcon命令对其打上标签。
> - 若iSulad启用SELinux访问控制,建议daemon启动前对/var/lib/isulad目录打上标签,容器容器创建时目录下生产的文件及文件夹将默认继承其标签,例如:
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\224\257\346\214\201OCI-hooks.md" b/docs/zh/docs/container_engine/isula_container_engine/supporting_oci_hooks.md
similarity index 86%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\224\257\346\214\201OCI-hooks.md"
rename to docs/zh/docs/container_engine/isula_container_engine/supporting_oci_hooks.md
index 00373d38356374fe90a49d674afddf75ca4edd3a..1c60bab92905d93a42d41fa4f983a7564b0d59b2 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\346\224\257\346\214\201OCI-hooks.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/supporting_oci_hooks.md
@@ -49,17 +49,17 @@ hook的配置为json格式,一般存放在json结尾的文件中,示例如
## 接口
-isulad和isula都提供了hook的接口,isulad提供了默认的hook配置,会作用于所有容器;而isula提供的hook接口,只会作用于当前创建的容器。
+iSulad和iSula都提供了hook的接口,iSulad提供了默认的hook配置,会作用于所有容器;而iSula提供的hook接口,只会作用于当前创建的容器。
-isulad提供的默认OCI hooks配置:
+iSulad提供的默认OCI hooks配置:
- 通过/etc/isulad/daemon.json配置文件的hook-spec配置项设置hook配置的文件路径:"hook-spec": "/etc/default/isulad/hooks/default.json"。
-- 通过isulad --hook-spec参数设置hook配置的文件路径。
+- 通过iSulad --hook-spec参数设置hook配置的文件路径。
-isula提供的OCI hooks配置:
+iSula提供的OCI hooks配置:
-- isula create --hook-spec:指定hook配置的json文件的路径。
-- isula run --hook-spec:指定hook配置的json文件的路径。
+- iSula create --hook-spec:指定hook配置的json文件的路径。
+- iSula run --hook-spec:指定hook配置的json文件的路径。
run的配置其实也是在create阶段生效了。
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\215\270\350\275\275.md" b/docs/zh/docs/container_engine/isula_container_engine/uninstallation.md
similarity index 92%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\215\270\350\275\275.md"
rename to docs/zh/docs/container_engine/isula_container_engine/uninstallation.md
index c7e5d64daa66f0149f9746963890a41241f3a075..55f883df1feb05e657d475351ea2faed7297e970 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\215\270\350\275\275.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/uninstallation.md
@@ -5,18 +5,18 @@
1. 卸载iSulad及其依赖软件包
- 若使用yum方式安装,卸载的参考命令如下:
- ```bash
+ ```sh
# yum remove iSulad
```
- 若使用rpm方式安装,需卸载iSulad及其依赖包,卸载单个RPM包的参考命令如下:
- ```bash
+ ```sh
# rpm -e iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
```
2. 镜像、容器、volumes以及相关配置文件不会自动删除,需要手动删除。参考命令如下:
- ```bash
+ ```sh
# rm -rf /var/lib/iSulad
```
diff --git "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\215\207\347\272\247.md" b/docs/zh/docs/container_engine/isula_container_engine/upgrade_methods.md
similarity index 32%
rename from "docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\215\207\347\272\247.md"
rename to docs/zh/docs/container_engine/isula_container_engine/upgrade_methods.md
index 25b8aa7350f87927b8345be15264a9e9a47ccb6a..959624d090e49a493898ccc4af2e6257e890016a 100644
--- "a/docs/zh/docs/ContainerEngine/iSulaContainerEngine/\345\215\207\347\272\247.md"
+++ b/docs/zh/docs/container_engine/isula_container_engine/upgrade_methods.md
@@ -2,23 +2,31 @@
- 若为相同大版本之间的升级,例如从2.x.x版本升级到2.x.x版本,请执行如下命令:
- ```bash
+ ```sh
# sudo yum update -y iSulad
```
- 若为不同大版本之间的升级,例如从1.x.x版本升级到2.x.x版本,请先保存当前的配置文件/etc/isulad/daemon.json,并卸载已安装的iSulad软件包,然后安装待升级的iSulad软件包,随后恢复配置文件。
->  **说明:**
+>![NOTE]说明
>
> - 可通过**sudo rpm -qa |grep iSulad** 或 **isula version** 命令确认当前iSulad的版本号。
-> - 相同大版本之间,如果希望手动升级,请下载iSulad及其所有依赖库的RPM包进行升级,参考命令如下:
+> - 相同大版本之间,如果希望手动升级,请下载iSulad及其所有依赖的RPM包进行升级,参考命令如下:
>
-> ```bash
-> # sudo rpm -Uhv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
-> ```
+> ```sh
+> # sudo rpm -Uhv iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
+> ```
>
-> 若升级失败,可通过--force选项进行强制升级,参考命令如下:
+> 若升级失败,可通过--force选项进行强制升级,参考命令如下:
>
-> ```bash
-> # sudo rpm -Uhv --force iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
-> ```
+> ```sh
+> # sudo rpm -Uhv --force iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
+> ```
+>
+> - 如若iSulad依赖的libisula组件发生升级,iSulad应该与对应版本的libisula一起升级,参考命令如下:
+>
+> ```sh
+> # sudo rpm -Uvh libisula-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm iSulad-xx.xx.xx-YYYYmmdd.HHMMSS.gitxxxxxxxx.aarch64.rpm
+> ```
+>
+> - iSulad在openeuler 22.03-LTS-SP3之前的版本使用lcr作为默认容器运行时。因此,跨此版本升级时,在升级之前创建的容器仍是使用lcr作为容器运行时,只有在升级之后创建的容器才会采用新版本的默认运行时runc。若在新版本中仍需使用lcr容器运行时,需要修改isulad默认配置文件(默认为/etc/isulad/daemon.json)中的default-runtime为lcr或者在运行容器时指定容器运行时为lcr(--runtime lcr), 在升级时若对应的lcr、lxc版本发生升级,同样应该与iSulad一起升级。
diff --git a/docs/zh/docs/container_form/secure_container/_toc.yaml b/docs/zh/docs/container_form/secure_container/_toc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..21b84ccdc103ade5c2925c1ab07c1c6b2fe20dff
--- /dev/null
+++ b/docs/zh/docs/container_form/secure_container/_toc.yaml
@@ -0,0 +1,19 @@
+label: 安全容器
+isManual: true
+description: 安全容器结合了虚拟化技术和容器技术,具有更好的隔离性
+sections:
+ - label: 概述
+ href: ./overview.md
+ - label: 安装与配置
+ href: ./installation_and_deployment_2.md
+ - label: 使用方法
+ href: ./application_scenarios_2.md
+ sections:
+ - label: 管理安全容器的生命周期
+ href: ./managing_the_lifecycle_of_a_secure_container.md
+ - label: 为安全容器配置资源
+ href: ./configuring_resources_for_a_secure_container.md
+ - label: 监控安全容器
+ href: ./monitoring_secure_containers.md
+ - label: 附录
+ href: ./appendix_2.md
diff --git a/docs/zh/docs/ContainerForm/SecureContainer/appendix-2.md b/docs/zh/docs/container_form/secure_container/appendix_2.md
similarity index 99%
rename from docs/zh/docs/ContainerForm/SecureContainer/appendix-2.md
rename to docs/zh/docs/container_form/secure_container/appendix_2.md
index 0e722af74202d9394125b136e5863352132ad6c0..4fd2bf3ad64a83f21dd902cd39a5d253dbb278fa 100644
--- a/docs/zh/docs/ContainerForm/SecureContainer/appendix-2.md
+++ b/docs/zh/docs/container_form/secure_container/appendix_2.md
@@ -1,13 +1,10 @@
# 附录
-- [附录](#附录)
- - [configuration.toml配置说明](#configuration-toml配置说明)
- - [接口列表](#接口列表)
-
## configuration-toml配置说明
-> **说明:**
->configuration.toml配置文件中各个字段的取值以kata-containers-.rpm包中的configuration.toml文件为准,不支持用户对配置文件中的字段任意取值。
+> [!NOTE]说明
+>
+> configuration.toml配置文件中各个字段的取值以kata-containers-.rpm包中的configuration.toml文件为准,不支持用户对配置文件中的字段任意取值。
```conf
[hypervisor.qemu]
diff --git "a/docs/zh/docs/ContainerForm/SecureContainer/\344\275\277\347\224\250\346\226\271\346\263\225-1.md" b/docs/zh/docs/container_form/secure_container/application_scenarios_2.md
similarity index 62%
rename from "docs/zh/docs/ContainerForm/SecureContainer/\344\275\277\347\224\250\346\226\271\346\263\225-1.md"
rename to docs/zh/docs/container_form/secure_container/application_scenarios_2.md
index 1b6f532057d170ff342b2a78fb43466cadf48411..8e7f74d9d9cc150a8be98731787b0b398bee8e23 100644
--- "a/docs/zh/docs/ContainerForm/SecureContainer/\344\275\277\347\224\250\346\226\271\346\263\225-1.md"
+++ b/docs/zh/docs/container_form/secure_container/application_scenarios_2.md
@@ -1,5 +1,5 @@
# 使用方法
本章介绍安全容器的使用方法。
-> **说明:**
+>![NOTE]说明
>安全容器的使用需要root权限。
diff --git "a/docs/zh/docs/ContainerForm/SecureContainer/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\350\265\204\346\272\220.md" b/docs/zh/docs/container_form/secure_container/configuring_resources_for_a_secure_container.md
similarity index 90%
rename from "docs/zh/docs/ContainerForm/SecureContainer/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\350\265\204\346\272\220.md"
rename to docs/zh/docs/container_form/secure_container/configuring_resources_for_a_secure_container.md
index ffbccd64a756a4a1e5e3265babb3686fe0c81656..c822271b5a639adc13fa9491a10bf56d971b30d6 100644
--- "a/docs/zh/docs/ContainerForm/SecureContainer/\344\270\272\345\256\211\345\205\250\345\256\271\345\231\250\351\205\215\347\275\256\350\265\204\346\272\220.md"
+++ b/docs/zh/docs/container_form/secure_container/configuring_resources_for_a_secure_container.md
@@ -1,13 +1,8 @@
# 为安全容器配置资源
-- [为安全容器配置资源](#为安全容器配置资源)
- - [资源共享](#资源共享-27)
- - [限制资源](#限制资源)
- - [热插拔限制内存资源](#热插拔限制内存资源)
-
安全容器运行于虚拟化隔离的轻量级虚拟机内,因此资源的配置应分为两部分:对轻量级虚拟机的资源配置,即Host资源配置;对虚拟机内容器的配置,即Guest容器资源配置。以下资源配置均分为这两部分。
-## 资源共享-27
+## 资源共享
由于安全容器运行于虚拟化隔离的轻量虚拟机内,故无法访问Host上某些namespace下的资源,因此启动时不支持--net host,--ipc host,--pid host,--uts host。
diff --git a/docs/zh/docs/ContainerForm/SecureContainer/figures/kata-arch.png b/docs/zh/docs/container_form/secure_container/figures/kata-arch.png
similarity index 100%
rename from docs/zh/docs/ContainerForm/SecureContainer/figures/kata-arch.png
rename to docs/zh/docs/container_form/secure_container/figures/kata-arch.png
diff --git a/docs/zh/docs/ContainerForm/SecureContainer/figures/zh_cn_image_0221924928.png b/docs/zh/docs/container_form/secure_container/figures/zh_cn_image_0221924928.png
similarity index 100%
rename from docs/zh/docs/ContainerForm/SecureContainer/figures/zh_cn_image_0221924928.png
rename to docs/zh/docs/container_form/secure_container/figures/zh_cn_image_0221924928.png
diff --git "a/docs/zh/docs/ContainerForm/SecureContainer/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256-2.md" b/docs/zh/docs/container_form/secure_container/installation_and_deployment_2.md
similarity index 88%
rename from "docs/zh/docs/ContainerForm/SecureContainer/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256-2.md"
rename to docs/zh/docs/container_form/secure_container/installation_and_deployment_2.md
index a76b864619a3b754baf139a7935a21e286422659..6934b46c60855536478767ab5da3fdc4cc4f0859 100644
--- "a/docs/zh/docs/ContainerForm/SecureContainer/\345\256\211\350\243\205\344\270\216\351\205\215\347\275\256-2.md"
+++ b/docs/zh/docs/container_form/secure_container/installation_and_deployment_2.md
@@ -1,24 +1,20 @@
# 安装与配置
-- [安装与配置](#安装部署.md)
- - [安装方法](#安装方法)
- - [配置方法](#配置方法)
-
## 安装方法
### 前提条件
- 安全容器的安装需要使用root权限。
- 为了获取更好的性能体验,安全容器需要运行在裸金属服务器上,**暂不支持安全容器运行在虚拟机内**。
-- 安全容器运行依赖以下组件,请确保环境上已安装所需版本的依赖组件。以下组件来自配套的openEuler版本。如果使用iSula容器引擎,请参考iSula容器引擎的[安装与配置](./安装与配置.md)章节安装iSulad。
+- 安全容器运行依赖以下组件,请确保环境上已安装所需版本的依赖组件。以下组件来自配套的openEuler版本。如果使用iSula容器引擎,请参考iSula容器引擎的[安装与配置](../../container_engine/isula_container_engine/installation_configuration.md)章节安装iSulad。
- docker-engine
- qemu
### 安装操作
-安全容器发布组件集成在同一个`kata-containers-.rpm`包中,使用rpm命令可以直接安装对应的软件,其中version为版本号。
+安全容器发布组件集成在同一个kata-containers-<_version_\>.rpm包中,使用rpm命令可以直接安装对应的软件,其中version为版本号。
-```bash
+```sh
rpm -ivh kata-containers-.rpm
```
@@ -31,7 +27,7 @@ rpm -ivh kata-containers-.rpm
1. 请保证环境上所有的软件包(docker-engine、kata-containers)都已经安装完毕。
2. 停止docker-engine。
- ```bash
+ ```sh
systemctl stop docker
```
@@ -53,7 +49,7 @@ rpm -ivh kata-containers-.rpm
4. 重新启动docker-engine。
- ```bash
+ ```sh
systemctl start docker
```
@@ -64,13 +60,13 @@ rpm -ivh kata-containers-.rpm
1. 请保证环境上所有的软件包(iSulad、kata-containers)都已经安装完毕。
2. 停止isulad。
- ```bash
+ ```sh
systemctl stop isulad
```
3. 修改iSula容器引擎的配置文件/etc/isulad/daemon.json,并新增如下配置:
- ```conf
+ ```sh
{
"runtimes": {
"kata-runtime": {
@@ -86,7 +82,7 @@ rpm -ivh kata-containers-.rpm
4. 重新启动isulad。
- ```bash
+ ```sh
systemctl start isulad
```
diff --git "a/docs/zh/docs/ContainerForm/SecureContainer/\347\256\241\347\220\206\345\256\211\345\205\250\345\256\271\345\231\250\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md" b/docs/zh/docs/container_form/secure_container/managing_the_lifecycle_of_a_secure_container.md
similarity index 78%
rename from "docs/zh/docs/ContainerForm/SecureContainer/\347\256\241\347\220\206\345\256\211\345\205\250\345\256\271\345\231\250\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md"
rename to docs/zh/docs/container_form/secure_container/managing_the_lifecycle_of_a_secure_container.md
index dd329f14f086c2ea5be6f3de15b28d5ca1004e34..4e9158c26468e9c830d17d88cba650d4d9886187 100644
--- "a/docs/zh/docs/ContainerForm/SecureContainer/\347\256\241\347\220\206\345\256\211\345\205\250\345\256\271\345\231\250\347\232\204\347\224\237\345\221\275\345\221\250\346\234\237.md"
+++ b/docs/zh/docs/container_form/secure_container/managing_the_lifecycle_of_a_secure_container.md
@@ -1,11 +1,5 @@
# 管理安全容器的生命周期
-- [管理安全容器的生命周期](#管理安全容器的生命周期)
- - [启动安全容器](#启动安全容器)
- - [停止安全容器](#停止安全容器)
- - [删除安全容器](#删除安全容器)
- - [在容器中执行一条新的命令](#在容器中执行一条新的命令)
-
## 启动安全容器
用户可以使用docker-engine或者iSulad作为安全容器的容器引擎,两者的调用方式类似,请用户自行选择一种方式启动安全容器。
@@ -15,45 +9,45 @@
1. 确保安全容器组件已经正确安装部署。
2. 准备容器镜像。假设容器镜像为busybox,使用docker-engine和iSula容器引擎下载容器镜像的命令分别如下:
- ```bash
+ ```sh
docker pull busybox
```
- ```bash
+ ```sh
isula pull busybox
```
3. 启动一个安全容器。使用docker-engine和iSula容器引擎启动安全容器的命令分别如下:
- ```bash
+ ```sh
docker run -tid --runtime kata-runtime --network none busybox
```
- ```bash
+ ```sh
isula run -tid --runtime kata-runtime --network none busybox
```
- >  **说明:**
- > 安全容器网络使用仅支持CNI网络,不支持CNM网络,不支持使用-p和--expose暴露容器端口,使用安全容器时需指定参数--net=none。
+ >![NOTE]说明
+ >安全容器网络使用仅支持CNI网络,不支持CNM网络,不支持使用-p和--expose暴露容器端口,使用安全容器时需指定参数--net=none。
4. 启动一个Pod
1. 启动pause容器并根据回显获取pod的sandbox-id。使用docker-engine和iSula容器引擎启动的命令分别如下:
- ```bash
+ ```sh
docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=podsandbox
```
- ```bash
+ ```sh
isula run -tid --runtime kata-runtime --network none --annotation io.kubernetes.cri.container-type=sandbox
```
2. 创建业务容器并加入到这个pod中。使用docker-engine和iSula容器引擎创建的命令分别如下:
- ```bash
+ ```sh
docker run -tid --runtime kata-runtime --network none --annotation io.kubernetes.docker.type=container --annotation io.kubernetes.sandbox.id= busybox
```
- ```bash
+ ```sh
isula run -tid --runtime kata-runtime --network none --annotation io.kubernetes.cri.container-type=container --annotation io.kubernetes.cri.sandbox-id= busybox
```
@@ -63,7 +57,7 @@
- 停止一个安全容器。
- ```bash
+ ```sh
docker stop
```
@@ -75,13 +69,13 @@
删除前请确保容器已经停止:
-```bash
+```sh
docker rm
```
如果需要强制删除一个正在运行的容器,可以使用**-f**强制删除:
-```bash
+```sh
docker rm -f
```
@@ -89,11 +83,11 @@ docker rm -f
由于pause容器仅作为占位容器,如果启动一个Pod时,请在业务容器内执行新的命令,pause容器并没有相应的指令;如果只启动一个容器时,则可以直接执行新增命令:
-```bash
+```sh
docker exec -ti
```
->  **说明:**
+>![NOTE]说明
>
-> - 如遇到docker exec -ti进入容器的同时,另一终端执行docker restart或者docker stop命令造成exec界面卡住的情况,可使用Ctrl+P+Q退出docker exec操作界面。
-> - 如果使用-d参数则命令在后台执行,不会打印错误信息,其退出码也不能作为命令执行是否正确的判断依据。
+> - 如遇到docker exec -ti进入容器的同时,另一终端执行docker restart或者docker stop命令造成exec界面卡住的情况,可使用Ctrl+P+Q退出docker exec操作界面。
+> - 如果使用-d参数则命令在后台执行,不会打印错误信息,其退出码也不能作为命令执行是否正确的判断依据。
diff --git "a/docs/zh/docs/ContainerForm/SecureContainer/\347\233\221\346\216\247\345\256\211\345\205\250\345\256\271\345\231\250.md" b/docs/zh/docs/container_form/secure_container/monitoring_secure_containers.md
similarity index 99%
rename from "docs/zh/docs/ContainerForm/SecureContainer/\347\233\221\346\216\247\345\256\211\345\205\250\345\256\271\345\231\250.md"
rename to docs/zh/docs/container_form/secure_container/monitoring_secure_containers.md
index 5f728428d80839c62d4d14c405f18f7aab673539..4bf7b5fe482c4c5e8f15113bd7d7544bfde5640c 100644
--- "a/docs/zh/docs/ContainerForm/SecureContainer/\347\233\221\346\216\247\345\256\211\345\205\250\345\256\271\345\231\250.md"
+++ b/docs/zh/docs/container_form/secure_container/monitoring_secure_containers.md
@@ -6,7 +6,7 @@ kata 2.x中移除了kata-runtime events命令,代之以kata-runtime metrics命
## 用法
-```bash
+```sh
kata-runtime metrics
```
@@ -20,7 +20,7 @@ sandbox id为长id,要查询的容器状态必须为running,否则报错:G
## 示例
-```bash
+```shell
$ kata-runtime metrics e2270357d23f9d3dd424011e1e70aa8defb267d813c3d451db58f35aeac97a04
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
diff --git "a/docs/zh/docs/ContainerForm/SecureContainer/\345\256\211\345\205\250\345\256\271\345\231\250.md" b/docs/zh/docs/container_form/secure_container/overview.md
similarity index 96%
rename from "docs/zh/docs/ContainerForm/SecureContainer/\345\256\211\345\205\250\345\256\271\345\231\250.md"
rename to docs/zh/docs/container_form/secure_container/overview.md
index 92975c0f36d6d6107b7f798e4ed00748b81c9a18..0d2f9ea8469bbc05c8e2dcb5992ef6e5486528a1 100644
--- "a/docs/zh/docs/ContainerForm/SecureContainer/\345\256\211\345\205\250\345\256\271\345\231\250.md"
+++ b/docs/zh/docs/container_form/secure_container/overview.md
@@ -22,5 +22,5 @@
**图 2** 安全容器与周边组件的关系

-> **说明:**
+>![NOTE]说明
>安全容器的安装和使用需要使用root权限。
diff --git a/docs/zh/docs/container_form/system_container/_toc.yaml b/docs/zh/docs/container_form/system_container/_toc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3cde0247cdb375e51542177ff446a8ca7d41c8ea
--- /dev/null
+++ b/docs/zh/docs/container_form/system_container/_toc.yaml
@@ -0,0 +1,36 @@
+label: 系统容器
+isManual: true
+description: 解决在重计算、高性能、大并发的场景下,重型应用和业务云化的问题
+sections:
+
+- label: 概述
+ href: ./overview.md
+- label: 安装指导
+ href: ./installation_guideline.md
+- label: 使用指南
+ href: ./usage_guide.md
+ sections:
+ - label: 指定rootfs创建容器
+ href: ./specifying_rootfs_to_create_a_container.md
+ - label: 通过systemd启动容器
+ href: ./using_systemd_to_start_a_container.md
+ - label: 容器内reboot/shutdown
+ href: ./reboot_or_shutdown_in_a_container.md
+ - label: cgroup路径可配置
+ href: ./configurable_cgroup_path.md
+ - label: namespace化内核参数可写
+ href: ./writable_namespace_kernel_parameters.md
+ - label: 共享内存通道
+ href: ./shared_memory_channels.md
+ - label: 动态加载内核模块
+ href: ./dynamically_loading_the_kernel_module.md
+ - label: 环境变量持久化
+ href: ./environment_variable_persisting.md
+ - label: 最大句柄数限制
+ href: ./maximum_number_of_handles.md
+ - label: 安全性和隔离性
+ href: ./security_and_isolation.md
+ - label: 容器资源动态管理
+ href: ./dynamically_managing_container_resources_syscontainer_tools.md
+- label: 附录
+ href: ./appendix_1.md
diff --git a/docs/zh/docs/container_form/system_container/appendix_1.md b/docs/zh/docs/container_form/system_container/appendix_1.md
new file mode 100644
index 0000000000000000000000000000000000000000..ef017b6b1415e120119e6d90ee372b38f70f49c7
--- /dev/null
+++ b/docs/zh/docs/container_form/system_container/appendix_1.md
@@ -0,0 +1,89 @@
+# 附录
+
+## 命令行接口列表
+
+此处仅列出系统容器与普通容器的差异命令,其他命令用户可以查阅iSulad容器引擎相关章节,或者执行isula XXX --help进行查询。
+
+
+命令
+ |
+参数
+ |
+参数指定值说明
+ |
+
+
+isula create/run
+ |
+--external-rootfs
+ |
+- 字符串变量。
- 宿主机某个绝对路径。
- 运行系统容器时,必须使用此参数指定特定虚拟机的rootfs。
+ |
+
+--system-container
+ |
+- 布尔变量。
- 指定某个容器是否属于系统容器,如果是系统容器场景,必须使能。
+ |
+
+--add-host
+ |
+- 字符串变量。
- 格式为:<hostname>:<ip>,指定容器的hosts配置,可以指定多个参数。
+ |
+
+--dns,--dns-option,--dns-search
+ |
+
+ |
+
+--ns-change-opt
+ |
+- 字符串变量。
- 容器namespace化内核参数可修改选项,参数只能为net或ipc,如果指定多个,用逗号隔开,例如--ns-change-opt=net,ipc。
+ |
+
+--oom-kill-disable
+ |
+- 布尔变量。
- 表示是否打开oom-kill-disable功能。
+ |
+
+--shm-size
+ |
+- 字符串变量。
- 设置/dev/shm大小,默认64MB。 支持单位B(b)、K(k)、M(m)、G(g)、T(t)、P(p)。
+ |
+
+--sysctl
+ |
+- 字符串变量。
- 指定容器内核参数值,格式为key=value,可传入多个,sysctl白名单如下:
+kernel.msgmax,kernel.msgmnb,kernel.msgmni,kernel.sem,kernel.shmall,kernel.shmmax,kernel.shmmni, kernel.shm_rmid_forced,kernel.pid_max,net.,fs.mqueue。
+ 说明: 容器内kernel.pid_max参数需要内核支持pid_max namespace化,否则会报错。
+ 容器内sysctl白名单参数值限制与物理机对应的内核参数限制保持一致(包括参数类型、参数取值范围等)。
+
+ |
+
+--env-target-file
+ |
+- 字符串变量。
- 指定env持久化文件路径(路径必须为绝对路径,且文件必须在rootfs目录下),文件如果存在不能超过10MB,如果--env和文件里面的env出现冲突,--env指定值生效。
- 绝对路径的根目录/为rootfs根目录,,即要指定文件路径为容器内/etc/environment,只用指定env-target-file=/etc/environment,而不是env-target-file=/path/of/root-fs/etc/environment。
+ |
+
+--cgroup-parent
+ |
+- 字符串变量。
- 指定容器的cgroup父目录,cgroup根路径为/sys/fs/cgroup/<controller>。
+ |
+
+--host-channel
+ |
+- 字符串变量。
- 指定宿主机和容器共享内存空间(tmpfs),格式为:
+<host path>:<container path>:<rw/ro>:<size limit>
+ |
+
+--files-limit
+ |
+
+ |
+
+--user-remap
+ |
+- 字符串变量。
- 参数格式为:<uid>:<gid>:<offset>
+ |
+
+
+
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/configurable-cgroup-path.md b/docs/zh/docs/container_form/system_container/configurable_cgroup_path.md
similarity index 63%
rename from docs/zh/docs/ContainerForm/SystemContainer/configurable-cgroup-path.md
rename to docs/zh/docs/container_form/system_container/configurable_cgroup_path.md
index e8d6d6d201544e8b3035eaddb26dfc80fce90e9a..3465df9c44432586b677e065b072acd6eafebfe1 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/configurable-cgroup-path.md
+++ b/docs/zh/docs/container_form/system_container/configurable_cgroup_path.md
@@ -7,19 +7,19 @@
## 参数说明
-命令
+命令
|
-参数
+ | 参数
|
-参数指定值说明
+ | 参数指定值说明
|
-isula create/run
+ | isula create/run
|
---cgroup-parent
+ | --cgroup-parent
|
-
+ |
|
@@ -28,19 +28,19 @@
除了通过命令行指定单个系统容器对应的cgroup父路径外,还可通过修改iSulad容器引擎启动配置文件,指定所有容器的cgroup路径。
-配置文件路径
+配置文件路径
|
-配置项
+ | 配置项
|
-配置项说明
+ | 配置项说明
|
-/etc/isulad/daemon.json
+ | /etc/isulad/daemon.json
|
---cgroup-parent
+ | --cgroup-parent
|
-- 字符串变量。
- 指定容器默认cgroup父路径。
- 配置示例:"cgroup-parent": "/lxc/mycgroup"
+ | - 字符串变量。
- 指定容器默认cgroup父路径。
- 配置示例:"cgroup-parent": "/lxc/mycgroup"
|
@@ -55,14 +55,14 @@
启动系统容器,指定--cgroup-parent参数:
-```bash
+```sh
[root@localhost ~]# isula run -tid --cgroup-parent /lxc/cgroup123 --system-container --external-rootfs /root/myrootfs none init
115878a4dfc7c5b8c62ef8a4b44f216485422be9a28f447a4b9ecac4609f332e
```
查看容器init进程的cgroup信息:
-```bash
+```sh
[root@localhost ~]# isula inspect -f "{{json .State.Pid}}" 11
22167
[root@localhost ~]# cat /proc/22167/cgroup
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/dynamically-loading-the-kernel-module.md b/docs/zh/docs/container_form/system_container/dynamically_loading_the_kernel_module.md
similarity index 64%
rename from docs/zh/docs/ContainerForm/SystemContainer/dynamically-loading-the-kernel-module.md
rename to docs/zh/docs/container_form/system_container/dynamically_loading_the_kernel_module.md
index bc376d79a84f1741129dba163fac758d4c494a75..d479fab66c3a5fbf58a611cd3a4d3803730b8afe 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/dynamically-loading-the-kernel-module.md
+++ b/docs/zh/docs/container_form/system_container/dynamically_loading_the_kernel_module.md
@@ -7,19 +7,19 @@
## 参数说明
-命令
+命令
|
-参数
+ | 参数
|
-参数指定值说明
+ | 参数指定值说明
|
-isula create/run
+ | isula create/run
|
--e KERNEL_MODULES=module_name1,module_name
+ | -e KERNEL_MODULES=module_name1,module_name
|
-
+ |
|
@@ -35,7 +35,7 @@
启动系统容器时,指定-e KERNEL\_MODULES参数,待系统容器启动后,可以看到ip\_vs模块被成功加载到内核中。
-```bash
+```sh
[root@localhost ~]# lsmod | grep ip_vs
[root@localhost ~]# isula run -tid -e KERNEL_MODULES=ip_vs,ip_vs_wrr --hook-spec /etc/syscontainer-tools/hookspec.json --system-container --external-rootfs /root/myrootfs none init
ae18c4281d5755a1e153a7bff6b3b4881f36c8e528b9baba8a3278416a5d0980
@@ -47,7 +47,7 @@ nf_defrag_ipv6 20480 2 nf_conntrack,ip_vs
libcrc32c 16384 3 nf_conntrack,nf_nat,ip_vs
```
->  **说明:**
+> [!NOTE]说明
>
> - 宿主机需要安装syscontainer-tools。
> - 需要指定--hooks-spec为syscontainer hooks。
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/dynamically-managing-container-resources-(syscontainer-tools).md b/docs/zh/docs/container_form/system_container/dynamically_managing_container_resources_syscontainer_tools.md
similarity index 60%
rename from docs/zh/docs/ContainerForm/SystemContainer/dynamically-managing-container-resources-(syscontainer-tools).md
rename to docs/zh/docs/container_form/system_container/dynamically_managing_container_resources_syscontainer_tools.md
index 73e25a3d0de7eb1efc3e2a6157cc05dedbb41a46..9f0e91a1c8b08654ddbe2567d711dc7fc537ff07 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/dynamically-managing-container-resources-(syscontainer-tools).md
+++ b/docs/zh/docs/container_form/system_container/dynamically_managing_container_resources_syscontainer_tools.md
@@ -33,61 +33,61 @@ ARG:命令对应的参数。
### 参数说明
-命令
+命令
|
-功能说明
+ | 功能说明
|
-选项说明
+ | 选项说明
|
-参数说明
+ | 参数说明
|
-add-device
+ | add-device
|
-将宿主机块设备/字符设备添加到容器中。
+ | 将宿主机块设备/字符设备添加到容器中。
|
-支持的选项如下:
+ | 支持的选项如下:
- --blkio-weight-device:设置块设备IO权重(相对权重,10-100之间)。
- --device-read-bps:设置块设备读取速率限制(byte/秒)。
- --device-read-iops:设置块设备读取速率限制(IO/秒)。
- --device-write-bps:设置块设备写入速率限制(byte/秒)。
- --device-write-iops:设置块设备写入速率限制(IO/秒)。
- --follow-partition:如果块设备是基础块设备(主SCSI块磁盘),加入此参数可以添加主磁盘下的所有分区。
- --force:如果容器中已有块设备/字符设备,使用此参数覆盖旧的块设备/字符设备文件。
- --update-config-only:只更新配置文件不实际做添加磁盘动作。
|
-参数格式为:hostdevice[:containerdevice][:permission] [hostdevice[:containerdevice][:permission] ...]
+ | 参数格式为:hostdevice[:containerdevice][:permission] [hostdevice[:containerdevice][:permission] ...]
其中:
hostdevice:设备在主机上的路径。
containerdevice:设备在容器中的路径。
permission:容器内对设备的操作权限。
|
-remove-device
+ | remove-device
|
-将块设备/字符设备从容器中删除,还原至宿主机。
+ | 将块设备/字符设备从容器中删除,还原至宿主机。
|
-支持的选项如下:
+ | 支持的选项如下:
--follow-partition:如果块设备是基础块设备(主SCSI块磁盘),加入此参数可以删除容器中主磁盘下的所有分区,还原至宿主机。
|
-参数格式为:hostdevice[:containerdevice] [hostdevice[:containerdevice] ...]
+ | 参数格式为:hostdevice[:containerdevice] [hostdevice[:containerdevice] ...]
其中:
hostdevice:设备在主机上的路径。
containerdevice:设备在容器中的路径。
|
-list-device
+ | list-device
|
-列出容器中所有的块设备/字符设备。
+ | 列出容器中所有的块设备/字符设备。
|
-支持的选项如下:
+ | 支持的选项如下:
- --pretty:按照json格式输出。
- --sub-partition:如果某磁盘为主磁盘,加入此flag,在显示主磁盘的同时,也显示主磁盘的子分区。
|
-无
+ | 无
|
-update-device
+ | update-device
|
-更新磁盘Qos。
+ | 更新磁盘Qos。
|
-支持的选项如下:
+ | 支持的选项如下:
- --device-read-bps:设置块设备读取速率限制(byte/秒),建议设置值大于等于1024。
- --device-read-iops:设置块设备读取速率限制(IO/秒)。
- --device-write-bps:设置块设备写入速率限制(byte/秒),建议设置值大于等于1024。
- --device-write-iops:设置块设备写入速率限制(IO/秒)。
|
-无
+ | 无
|
@@ -166,43 +166,43 @@ container\_id:容器id。
### 参数说明
-命令
+命令
|
-功能说明
+ | 功能说明
|
-选项说明
+ | 选项说明
|
-add-nic
+ | add-nic
|
-给容器创建一个网卡。
+ | 给容器创建一个网卡。
|
-支持的选项如下:
+ | 支持的选项如下:
- --type:设置网卡类型,当前只支持eth/veth。
- --name:设置网卡名称,格式为[host:]<container>,host不写是随机名字。
- --ip:设置网卡IP地址。
- --mac:设置网卡mac地址。
- --bridge:设置网卡绑定的网桥。
- --mtu:设置网卡的mtu值,缺省值为1500。
- --update-config-only:如果此flag设置了,只更新配置文件,不会实际做添加网卡的动作。
- --qlen:配置qlen值,缺省值为1000。
|
-remove-nic
+ | remove-nic
|
-从容器中将网卡删除,还原至宿主机。
+ | 从容器中将网卡删除,还原至宿主机。
|
-支持的选项如下:
+ | 支持的选项如下:
- --type:设置网卡的类型。
- --name:设置网卡的名称,格式为[host:]<container>。
|
-list-nic
+ | list-nic
|
-列出容器中所有的网卡。
+ | 列出容器中所有的网卡。
|
-支持的选项如下:
+ | 支持的选项如下:
- --pretty:按照json格式输出。
- --filter:按照过滤格式输出,比如--filter '{"ip":"192.168.3.4/24", "Mtu":1500}'。
|
-update-nic
+ | update-nic
|
-更改容器内指定网卡的配置参数。
+ | 更改容器内指定网卡的配置参数。
|
-支持的选项如下:
+ | 支持的选项如下:
- --name:容器内网卡名(必须项)。
- --ip:设置网卡IP地址。
- --mac:设置网卡mac地址。
- --bridge:设置网卡绑定的网桥。
- --mtu:设置网卡的mtu值。
- --update-config-only:如果此flag设置了,只更新配置文件,不会实际做更新网卡的动作。
- --qlen:配置qlen值。
|
@@ -243,8 +243,8 @@ container\_id:容器id。
Add network interface to container 2aaca5c1af7c (eth3,eth1) done
```
- >  **说明:**
- > 添加虚拟网卡或物理网卡时,请确保网卡处于空闲状态,添加正在使用的网卡会导致系统网络断开。
+ >[!NOTE]说明
+ >添加虚拟网卡或物理网卡时,请确保网卡处于空闲状态,添加正在使用的网卡会导致系统网络断开。
## 路由管理
@@ -271,50 +271,50 @@ ARG:命令对应的参数。
### 接口说明
-命令
+命令
|
-功能说明
+ | 功能说明
|
-选项说明
+ | 选项说明
|
-参数说明
+ | 参数说明
|
-add-route
+ | add-route
|
-将网络路由规则添加到容器中。
+ | 将网络路由规则添加到容器中。
|
-支持的选项如下:
+ | 支持的选项如下:
--update-config-only:添加此参数,只更新配置文件,不做实际的更新路由表的动作。
|
-参数格式:[{rule1},{rule2}]
+ | 参数格式:[{rule1},{rule2}]
rule样例:
'[{"dest":"default", "gw":"192.168.10.1"},{"dest":"192.168.0.0/16","dev":"eth0","src":"192.168.1.2"}]'
- dest:目标网络,如果为空则是默认网关。
- src:路由源IP。
- gw:路由网关。
- dev:网络设备。
|
-remove-route
+ | remove-route
|
-从容器中删除路由。
+ | 从容器中删除路由。
|
-支持的选项如下:
+ | 支持的选项如下:
--update-config-only:设置此参数,只更新配置文件,不做实际从容器中删除路由的动作。
|
-参数格式:[{rule1},{rule2}]
+ | 参数格式:[{rule1},{rule2}]
rule样例:
'[{"dest":"default", "gw":"192.168.10.1"},{"dest":"192.168.0.0/16","dev":"eth0","src":"192.168.1.2"}]'
- dest:目标网络,如果为空则是默认网关。
- src:路由源IP。
- gw:路由网关。
- dev:网络设备。
|
-list-route
+ | list-route
|
-列出容器中所有的路由规则。
+ | 列出容器中所有的路由规则。
|
-支持的选项如下:
+ | 支持的选项如下:
- --pretty:按照json格式输出。
- --filter:按照过滤格式输出,比如--filter '{"ip":"192.168.3.4/24", "Mtu":1500}'。
|
-无
+ | 无
|
@@ -383,23 +383,23 @@ ARG:命令对应的参数。
### 接口说明
-命令
+命令
|
-功能说明
+ | 功能说明
|
-选项说明
+ | 选项说明
|
-参数说明
+ | 参数说明
|
-add-path
+ | add-path
|
-将宿主机文件/目录添加到容器中。
+ | 将宿主机文件/目录添加到容器中。
|
-无
+ | 无
|
-参数格式为:
+ | 参数格式为:
hostpath:containerpath:permission [hostpath:containerpath:permission ...]
其中:
hostdevice:卷在主机上的路径。
@@ -407,26 +407,26 @@ ARG:命令对应的参数。
permission:容器内对挂载路径的操作权限。
|
-remove-path
+ | remove-path
|
-将容器中的目录/文件删除,还原到宿主机中。
+ | 将容器中的目录/文件删除,还原到宿主机中。
|
-无
+ | 无
|
-参数格式为:hostpath:containerpath [hostpath:containerpath ...]
+ | 参数格式为:hostpath:containerpath [hostpath:containerpath ...]
其中:
hostdevice:卷在主机上的路径。
containerdevice:卷在容器中的路径。
|
-list-path
+ | list-path
|
-列出容器中所有的path目录。
+ | 列出容器中所有的path目录。
|
-支持的选项如下:
+ | 支持的选项如下:
--pretty:按照json格式输出。
|
-无
+ | 无
|
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/environment-variable-persisting.md b/docs/zh/docs/container_form/system_container/environment_variable_persisting.md
similarity index 56%
rename from docs/zh/docs/ContainerForm/SystemContainer/environment-variable-persisting.md
rename to docs/zh/docs/container_form/system_container/environment_variable_persisting.md
index 75a6507e207703a4aa371a9a2aa3fe8e3e273a28..7eeeb5c53da90134577f0627716f615c91907bc0 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/environment-variable-persisting.md
+++ b/docs/zh/docs/container_form/system_container/environment_variable_persisting.md
@@ -7,19 +7,19 @@
## 参数说明
-命令
+命令
|
-参数
+ | 参数
|
-参数指定值说明
+ | 参数指定值说明
|
-isula create/run
+ | isula create/run
|
---env-target-file
+ | --env-target-file
|
-- 字符串变量。
- env持久化文件必须在rootfs目录下,且配置为绝对路径。
+ | - 字符串变量。
- env持久化文件必须在rootfs目录下,且配置为绝对路径。
|
@@ -35,7 +35,7 @@
启动系统容器,指定env环境变量和--env-target-file参数:
-```bash
+```sh
[root@localhost ~]# isula run -tid -e abc=123 --env-target-file /etc/environment --system-container --external-rootfs /root/myrootfs none init
b75df997a64da74518deb9a01d345e8df13eca6bcc36d6fe40c3e90ea1ee088e
[root@localhost ~]# isula exec b7 cat /etc/environment
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/installation-guideline.md b/docs/zh/docs/container_form/system_container/installation_guideline.md
similarity index 80%
rename from docs/zh/docs/ContainerForm/SystemContainer/installation-guideline.md
rename to docs/zh/docs/container_form/system_container/installation_guideline.md
index 145f758c35adf10f6c8a35baf3e531c2075afcae..30c03ebbb641e3eee94d83b581a47403ae8666de 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/installation-guideline.md
+++ b/docs/zh/docs/container_form/system_container/installation_guideline.md
@@ -1,29 +1,29 @@
# 安装指导
-> **说明:**
+>[!NOTE]说明
>系统容器的安装需要使用root权限。
1. 首先需要安装iSulad容器引擎。
- ```bash
+ ```sh
# yum install iSulad
```
2. 安装系统容器依赖包。
- ```bash
+ ```sh
# yum install syscontainer-tools authz lxcfs-tools lxcfs
```
3. 查看iSulad是否已经启动。
- ```bash
+ ```sh
# systemctl status isulad
```
4. 开启lxcfs和authz服务。
- ```bash
+ ```sh
# systemctl start lxcfs
# systemctl start authz
```
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/maximum-number-of-handles.md b/docs/zh/docs/container_form/system_container/maximum_number_of_handles.md
similarity index 61%
rename from docs/zh/docs/ContainerForm/SystemContainer/maximum-number-of-handles.md
rename to docs/zh/docs/container_form/system_container/maximum_number_of_handles.md
index 227197b882c82a41348c1b08d5c47a9595c89b78..4b2a928cde8b5e1a3597f33cba4c6e3eafb3aafc 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/maximum-number-of-handles.md
+++ b/docs/zh/docs/container_form/system_container/maximum_number_of_handles.md
@@ -7,20 +7,20 @@
## 参数说明
-命令
+命令
|
-参数
+ | 参数
|
-参数指定值说明
+ | 参数指定值说明
|
-isula create/run
+ | isula create/run
|
---files-limit
+ | --files-limit
|
-- 整数值,不能为负数。
- 指定为0表示不受限制,最大值限制由当前内核files cgroup决定。
+ | - 整数值,不能为负数。
- 指定为0表示不受限制,最大值限制由当前内核files cgroup决定。
|
@@ -35,7 +35,7 @@
使用\--files-limit限制容器内打开文件句柄数需要内核支持files cgroup,可以执行以下命令查看:
-```bash
+```sh
[root@localhost ~]# cat /proc/1/cgroup | grep files
10:files:/
```
@@ -44,7 +44,7 @@
容器启动指定--files-limit参数,并检查files.limit参数是否成功写入:
-```bash
+```sh
[root@localhost ~]# isula run -tid --files-limit 1024 --system-container --external-rootfs /tmp/root-fs empty init 01e82fcf97d4937aa1d96eb8067f9f23e4707b92de152328c3fc0ecb5f64e91d
[root@localhost ~]# isula exec -it 01e82fcf97d4 bash
[root@localhost ~]# cat /sys/fs/cgroup/files/files.limit
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/system-container.md b/docs/zh/docs/container_form/system_container/overview.md
similarity index 100%
rename from docs/zh/docs/ContainerForm/SystemContainer/system-container.md
rename to docs/zh/docs/container_form/system_container/overview.md
diff --git a/docs/zh/docs/ContainerForm/SystemContainer/reboot-or-shutdown-in-a-container.md b/docs/zh/docs/container_form/system_container/reboot_or_shutdown_in_a_container.md
similarity index 66%
rename from docs/zh/docs/ContainerForm/SystemContainer/reboot-or-shutdown-in-a-container.md
rename to docs/zh/docs/container_form/system_container/reboot_or_shutdown_in_a_container.md
index 37fb5386d605a45be16d467873ca8ad73881418c..10d6944a56e2cf9bfea0bfcf1e73c7c586c873a5 100644
--- a/docs/zh/docs/ContainerForm/SystemContainer/reboot-or-shutdown-in-a-container.md
+++ b/docs/zh/docs/container_form/system_container/reboot_or_shutdown_in_a_container.md
@@ -7,19 +7,19 @@
## 参数说明
-命令
+命令
|
-参数
+ | 参数
|
-参数指定值说明
+ | 参数指定值说明
|
-isula create/run
+ | isula create/run
|
---restart
+ | --restart
|
- |
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|
---|
|