全部產品
Search
文件中心

Elastic Container Instance:為ECI執行個體掛載ConfigFile資料卷

更新時間:Nov 16, 2024

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表示許可權為-rw-r--r--,0對應-,表示檔案類型為普通檔案,644對應後續9位字元,表示3組許可權,即使用者權限為rw-,使用者所在組許可權為r--,其他使用者權限為r--

許可權說明如下:

  • ---:沒有任何許可權,八進位值為0。

  • --x:只有執行許可權,八進位值為1。

  • -w-:只有寫入許可權,八進位值為2。

  • -wx:有寫入和執行許可權,八進位值為3。

  • r--:只有讀取許可權,八進位值為4。

  • r-x:有讀取和執行許可權,八進位值為5。

  • rw-:有讀取和寫入許可權,八進位值為6。

  • rwx:具有讀取、寫入和執行許可權,八進位值為7。

Volume.N.ConfigFileVolume.ConfigFileToPath.N.Mode

Integer

0644

設定檔的許可權,如果沒有設定,則採用ConfigFileVolume.DefaultMode的值。採用四位八位元表示。

例如0644表示許可權為-rw-r--r--,0對應-,表示檔案類型為普通檔案,644對應後續9位字元,表示3組許可權,即使用者權限為rw-,使用者所在組許可權為r--,其他使用者權限為r--

許可權說明如下:

  • ---:沒有任何許可權,八進位值為0。

  • --x:只有執行許可權,八進位值為1。

  • -w-:只有寫入許可權,八進位值為2。

  • -wx:有寫入和執行許可權,八進位值為3。

  • r--:只有讀取許可權,八進位值為4。

  • r-x:有讀取和執行許可權,八進位值為5。

  • rw-:有讀取和寫入許可權,八進位值為6。

  • rwx:具有讀取、寫入和執行許可權,八進位值為7。

掛載資料卷

聲明資料卷後,可以通過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:該卷不感知任何後續在此卷或其子目錄上執行的掛載操作。

  • HostToContainer:該卷將會感知到後續在此卷或其子目錄上的掛載操作。

  • Bidirectional:和HostToContainer類似,能感知掛載操作。另外,該卷將被傳播回宿主機和使用同一卷的所有ECI執行個體的所有容器。

預設值:None。

說明

Init容器也支援掛載資料卷,參數與上表類似,只需要將Container改為InitContainer。

配置說明(控制台)

通過Elastic Container Instance售賣頁建立ECI執行個體時,您可以在容器組配置地區聲明資料卷,然後在容器配置地區,將資料卷掛載到容器中。

聲明資料卷

  1. 容器組配置地區,展開進階配置

  2. 儲存處選擇配置項頁簽,單擊添加

  3. 配置ConfigFile資料卷的相關參數。

    • 名稱:ConfigFile資料卷的名稱。

    • 設定檔Path:設定檔所在的相對檔案路徑。

    • 檔案內容:設定檔的內容。請明文輸入,控制台會自動進行Base64編碼。

    配置項

掛載資料卷

  1. 容器配置地區選取項目容器,展開該容器的進階配置。

  2. 開啟儲存開關後單擊添加。

    此處可添加的資料卷為配置容器組時聲明的資料卷。

    配置項2

說明

如果要為多個容器掛載資料卷,請選擇其他容器,重複上述操作。

配置樣本

調用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