すべてのプロダクト
Search
ドキュメントセンター

Elastic Container Instance:空のディレクトリボリュームをエラスティックコンテナインスタンスにマウントする

最終更新日:Mar 11, 2025

emptyDirボリュームは、データを一時的に保存し、コンテナ間でのデータ共有を容易にするために使用される空のディレクトリです。このトピックでは、emptyDirボリュームをエラスティックコンテナインスタンスにマウントする方法について説明します。

注意事項

emptyDirボリュームは、データを一時的に保存するために使用されます。 emptyDirボリュームがマウントされているエラスティックコンテナインスタンスが削除または再起動されると、emptyDirボリュームに保存されているデータは消去されます。

構成の説明(APIモード)

CreateContainerGroup APIオペレーションを呼び出してエラスティックコンテナインスタンスを作成する場合、ボリューム関連のパラメータを使用してボリュームを指定し、次にContainer.VolumeMount関連のパラメータを使用してボリュームをコンテナにマウントできます。以下の部分では、関連するパラメータについて説明します。詳細については、CreateContainerGroupを参照してください。

マウントするボリュームの指定

ボリューム関連のパラメータを使用してボリュームを指定する場合、最初にボリュームのタイプと名前を指定する必要があります。次に、Volume.N.Typeパラメータの値に基づいて、他のボリューム関連のパラメータを構成する必要があります。

パラメータ

タイプ

説明

Volume.N.Name

String

emptydir-demo

ボリュームNの名前。

Volume.N.Type

String

EmptyDirVolume

EmptyDirVolumeの値は、emptyDirボリュームが作成されることを示します。

Volume.N.EmptyDirVolume.Medium

String

Memory

emptyDirボリュームNのストレージメディア。このパラメータはデフォルトで空であり、ノードファイルシステムがストレージメディアとして使用されることを示します。有効な値:

Volume.N.EmptyDirVolume.SizeLimit

String

256Mi

emptyDirボリュームNのストレージサイズ。このパラメータを指定する場合は、単位が必要です。単位にはGiまたはMiを使用することをお勧めします。

説明

Volume.N.EmptyDirVolume.MediumをMemoryに設定した場合、Volume.N.EmptyDirVolume.SizeLimitを設定してインスタンスのshmサイズを変更できます。両方のパラメータを設定した後、emptyDirボリュームをコンテナの/dev/shmディレクトリにマウントする必要があります。

ボリュームのマウント

ボリュームを指定した後、VolumeMount関連のパラメータを使用してボリュームをコンテナにマウントできます。

パラメータ

タイプ

説明

Container.N.VolumeMount.N.Name

String

test-volume

コンテナNにマウントするボリュームNの名前。この値は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

ボリュームNのマウント伝播設定。マウント伝播を使用すると、1つのコンテナにマウントされているボリュームを、同じエラスティックコンテナインスタンス内の他のコンテナ、または同じホスト上の他のエラスティックコンテナインスタンスに共有できます。有効な値:

  • None:ボリュームマウントは、このボリュームまたはそのサブディレクトリにマウントされる後続のマウントを受信しません。

  • HostToContainer:ボリュームマウントは、このボリュームまたはそのサブディレクトリにマウントされる後続のすべてマウントを受信します。

  • Bidirectional:この値はHostToContainerと同様の効果があります。ボリュームマウントは、このボリュームまたはそのサブディレクトリにマウントされる後続のすべてマウントを受信します。さらに、コンテナNによって作成されたすべてのボリュームマウントは、ホスト、および同じボリュームを使用するすべてのエラスティックコンテナインスタンスのすべてのコンテナに伝播されます。

デフォルト値:None。

説明

ボリュームはinitコンテナにもマウントできます。必要なパラメータは、前の表のパラメータと似ています。ContainerをInitContainerに変更するだけです。

構成(コンソールモード)

エラスティックコンテナインスタンスをエラスティックコンテナインスタンス購入ページで作成する際に、コンテナグループ設定セクションでボリュームを指定し、コンテナ設定セクションでボリュームをコンテナにマウントできます。

マウントするボリュームの指定

  1. コンテナーグループの構成 セクション ([コンテナー グループの作成] ウィザードの [基本設定] 手順) で、詳細設定 をクリックします。

  2. ストレージ セクションで、一時ディレクトリ タブをクリックし、追加 をクリックします。

  3. 名前フィールドに、emptyDirボリュームの名前を入力します。

    临时目录

ボリュームのマウント

  1. コンテナー構成 セクションの [基本設定] ステップで、コンテナーを選択し、コンテナーの [詳細設定] をクリックします。

  2. ストレージをオンにして、追加をクリックします。

    コンテナグループの構成セクションで指定したボリュームのみを追加できます。

    临时目录2

説明

複数のコンテナにボリュームをマウントする場合は、さらにコンテナを選択し、上記の手順を繰り返します。

構成例

次のコードは、CreateContainerGroup API オペレーションを呼び出して弾性コンテナインスタンスを作成し、emptyDir ボリュームをインスタンスにマウントする際に構成する必要のあるパラメータの例を示しています。詳細については、CreateContainerGroup を参照してください。

  • 例1:コンテナ間でデータを共有する

    ContainerGroupName=test-emptydir
    # マウントするボリュームを指定します。
    Volume.1.Name=emptydir-demo
    Volume.1.Type=EmptyDirVolume
    # ボリュームをコンテナ1にマウントします。
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=emptydir-demo
    Container.1.VolumeMount.1.MountPath=/data1
    # ボリュームをコンテナ2にマウントします。
    Container.2.Name=busybox
    Container.2.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/busybox:1.30
    Container.2.Command.1=sleep
    Container.2.Arg.1=999999
    Container.2.VolumeMount.1.Name=emptydir-demo
    Container.2.VolumeMount.1.MountPath=/data2

    上記の例では、emptyDirボリュームはコンテナ1とコンテナ2の間で共有されます。コンテナ1の/data1ディレクトリとコンテナ2の/data2ディレクトリは、デフォルトでは空です。一方のコンテナのemptyDirボリュームに追加されたファイルには、もう一方のコンテナからアクセスできます。

  • 例2:インスタンスのshmサイズを変更する

    ContainerGroupName=test-emptydir
    # マウントするボリュームを指定します。
    Volume.1.Name=emptydir-shm
    Volume.1.Type=EmptyDirVolume
    Volume.1.EmptyDirVolume.Medium=Memory
    Volume.1.EmptyDirVolume.SizeLimit=256Mi
    # ボリュームをコンテナ1にマウントします。
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=emptydir-shm
    Container.1.VolumeMount.1.MountPath=/dev/shm

    上記の例では、EmptyDirVolume.MediumはMemoryに設定され、EmptyDirVolume.SizeLimitは256Miに設定され、emptyDirボリュームは/dev/shmディレクトリにマウントされます。このようにして、エラスティックコンテナインスタンスのshmサイズは256 MiBに変更されます。