ConfigFile数据卷是一种用于存储配置文件的数据卷,可以向ECI实例注入配置数据。本文介绍如何为ECI实例挂载ConfigFile数据卷。
使用限制
ConfigFile数据卷中,单个配置文件不能大于32 KB,多个配置文件的总和不能大于60 KB。
配置说明(OpenAPI)
调用CreateContainerGroup接口创建ECI实例时,您可以通过Volume相关参数声明数据卷,然后通过Container.VolumeMount相关参数为容器挂载数据卷。相关参数说明如下,更多信息,请参见CreateContainerGroup。
声明数据卷
通过Volume相关参数声明数据卷时,需要先明确Volume的名称和类型。再根据Volume.N.Type的取值,进一步配置该类型数据卷的相关参数。
名称 | 类型 | 示例值 | 描述 |
Volume.N.Name | String | test-volume | 数据卷名称。 |
Volume.N.Type | String | ConfigFileVolume | 取值为ConfigFileVolume,表示声明一个ConfigFile类型的数据卷。 |
Volume.N.ConfigFileVolume.ConfigFileToPath.N.Path | String | test/config-test.cnf | 相对于挂载目录,配置文件所在的相对文件路径。 |
Volume.N.ConfigFileVolume.ConfigFileToPath.N.Content | String | bGl1bWk= | 配置文件内容。需要将内容进行Base64编码。 |
Volume.N.ConfigFileVolume.DefaultMode | Integer | 0644 | 配置文件的默认权限,采用四位八进制数表示。 例如0644表示权限为 权限说明如下:
|
Volume.N.ConfigFileVolume.ConfigFileToPath.N.Mode | Integer | 0644 | 配置文件的权限,如果没有设置,则采用ConfigFileVolume.DefaultMode的值。采用四位八进制数表示。 例如0644表示权限为 权限说明如下:
|
挂载数据卷
声明数据卷后,可以通过VolumeMount相关参数将数据卷挂载到容器中。
名称 | 类型 | 示例值 | 描述 |
Container.N.VolumeMount.N.Name | String | test-volume | 要挂载到容器的数据卷的名称,对应Volume.N.Name的值。 |
Container.N.VolumeMount.N.MountPath | String | /usr/share | 挂载目录。 容器挂载目录下的内容会被数据卷的内容直接覆盖,请准确填写。 |
Container.N.VolumeMount.N.SubPath | String | /usr/sub | 数据卷下的子目录。方便实例将同一个数据卷下的不同目录挂载到容器的不同目录。 |
Container.N.VolumeMount.N.ReadOnly | Boolean | false | 挂载目录是否只读。默认为false。 |
Container.N.VolumeMount.N.MountPropagation | String | None | 数据卷的挂载传播设置。挂载传播允许将容器挂载的卷共享到同一ECI实例中的其他容器,甚至可以共享到同一宿主机上的其他ECI实例。取值范围:
默认值:None。 |
Init容器也支持挂载数据卷,参数与上表类似,只需要将Container改为InitContainer。
配置说明(控制台)
通过弹性容器实例售卖页创建ECI实例时,您可以在容器组配置区域声明数据卷,然后在容器配置区域,将数据卷挂载到容器中。
声明数据卷
在容器组配置区域,展开高级配置。
在存储处选择配置项页签,单击添加。
配置ConfigFile数据卷的相关参数。
名称:ConfigFile数据卷的名称。
配置文件Path:配置文件所在的相对文件路径。
文件内容:配置文件的内容。请明文输入,控制台会自动进行Base64编码。
挂载数据卷
在容器配置区域选择容器,展开该容器的高级配置。
打开存储开关后单击添加。
此处可添加的数据卷为配置容器组时声明的数据卷。
如果要为多个容器挂载数据卷,请选择其他容器,重复上述操作。
配置示例
调用CreateContainerGroup接口创建ECI实例,并为其挂载ConfigFile数据卷。参数示例如下,更多信息,请参见CreateContainerGroup。
ContainerGroupName=test-configfile
#声明数据卷
Volume.1.Name=configfile-demo
Volume.1.Type=HostPathVolume
Volume.1.ConfigFileVolume.ConfigFileToPath.1.Path=test/config-test.cnf
Volume.1.ConfigFileVolume.ConfigFileToPath.1.Content=c2VydmVyLnBvcnQgPSA4MDgw
Volume.1.ConfigFileVolume.DefaultMode=0644
#为容器挂载数据卷
Container.1.Name=nginx
Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
Container.1.VolumeMount.1.Name=configfile-demo
Container.1.VolumeMount.1.MountPath=/data