メニュー
AWS CloudFormation
ユーザーガイド (API Version 2010-05-15)

Amazon Elastic Container Service TaskDefinition ContainerDefinition

ContainerDefinition プロパティタイプは、Amazon Elastic Container Service (Amazon ECS) コンテナの設定を記述します。コンテナ定義は、Docker デーモンに渡されます。

AWS::ECS::TaskDefinition リソースの ContainerDefinitions プロパティには、ContainerDefinition プロパティタイプのリストが含まれます。

構文

JSON

{ "Command" : [ String, ... ], "Cpu" : Integer, "DisableNetworking" : Boolean, "DnsSearchDomains" : [ String, ... ], "DnsServers" : [ String, ... ], "DockerLabels" : { 文字列: 文字列, ... }, "DockerSecurityOptions" : [ String, ... ], "EntryPoint" : [ String, ... ], "Environment" : [ KeyValuePair, ... ], "Essential" : Boolean, "ExtraHosts" : [ HostEntry, ... ], "Hostname" : String, "Image" : String, "Links" : [ String, ... ], "LinuxParameters" : LinuxParameters, "LogConfiguration" : LogConfiguration, "Memory" : Integer, "MemoryReservation" : Integer, "MountPoints" : [ MountPoint, ... ], "Name" : String, "PortMappings" : [ PortMapping, ... ], "Privileged" : Boolean, "ReadonlyRootFilesystem" : Boolean, "Ulimits" : [ Ulimit, ... ], "User" : String, "VolumesFrom" : [ VolumeFrom, ... ], "WorkingDirectory" : String }

YAML

Command: - 文字列 Cpu: Integer DisableNetworking: Boolean DnsSearchDomains: - 文字列 DnsServers: - 文字列 DockerLabels: 文字列: 文字列 DockerSecurityOptions: - 文字列 EntryPoint: - 文字列 Environment: - KeyValuePair Essential: Boolean ExtraHosts: - HostEntry Hostname: String Image: String Links: - 文字列 LinuxParameters: LinuxParameters LogConfiguration: LogConfiguration Memory: Integer MemoryReservation: Integer MountPoints: - MountPoint Name: String PortMappings: - PortMapping Privileged: Boolean ReadonlyRootFilesystem: Boolean Ulimits: - Ulimit User: String VolumesFrom: - VolumeFrom WorkingDirectory: String

プロパティ

各プロパティの詳細については、Amazon Elastic Container Service Developer Guideの「タスク定義パラメーター」を参照してください。

Command

コンテナに渡す CMD 値。Docker CMD パラメータの詳細については、https://docs.docker.com/engine/reference/builder/#cmd を参照してください。

Required: No

Type: List of String values

Cpu

コンテナ用に予約する CPU ユニットの最小数。コンテナは、割り当てられた CPU ユニットと同じ比率を使用して、割り当てられていない CPU ユニットをインスタンス上の他コンテナと共有します。詳細については、Amazon Elastic Container Service API ReferenceContainerDefinition データ型の cpu コンテンツを参照してください。

Required: No

Type: Integer

DisableNetworking

ネットワークがコンテナ内で無効であるかどうかを示します。

Required: No

Type: Boolean

DnsSearchDomains

コンテナに提供する DNS 検索ドメインのリスト。プロセスがまったく修飾されていないホスト名にアクセスを試みたときに DNS ロジックが検索するドメイン名。

Required: No

Type: List of String values

DnsServers

Amazon ECS がコンテナに提供する DNS サーバーのリスト。

Required: No

Type: List of String values

DockerLabels

コンテナのラベルのキー/値マップ。

Required: No

タイプ: キー/値のペア。キーはラベルの名前で、値はラベル値です。

DockerSecurityOptions

SELinux と AppArmor のマルチレベルセキュリティシステムのカスタムラベルのリスト。詳細については、Amazon Elastic Container Service API ReferenceContainerDefinition データ型の dockerSecurityOptions コンテンツを参照してください。

Required: No

Type: List of String values

EntryPoint

コンテナに渡す ENTRYPOINT 値。Docker ENTRYPOINT パラメータの詳細については、https://docs.docker.com/engine/reference/builder/#entrypoint を参照してください。

Required: No

Type: List of String values

Environment

コンテナに渡す環境変数。

Required: No

: Amazon ECS TaskDefinition KeyValuePair プロパティタイプのリスト

Essential

このコンテナが失敗した場合はタスクが停止します。true を指定してコンテナが失敗した場合、タスク内の他のすべてのコンテナが失敗します。false を指定してコンテナが失敗した場合、タスク内の他のコンテナには影響が及びません。この値は、デフォルトでは true です。

タスクには少なくとも 1 つの重要なコンテナが必要です。

Required: No

Type: Boolean

ExtraHosts

コンテナ上の /etc/hosts ファイルに追加する、ホスト名と IP アドレスのマッピングのリスト。

Required: No

Amazon ECS TaskDefinition HostEntry プロパティタイプの Type: リスト

Hostname

Docker がコンテナのホスト名に使用する名前。

Required: No

Type: String

Image

コンテナに使用するイメージ。イメージは Docker デーモンに直接渡されます。Docker ハブレジストリでイメージを使用するか、他のリポジトリ (repository-url/image:tag) を指定できます。

必須: はい

Type: String

Links

接続先の別コンテナの名前。リンクを使用すると、コンテナはポートのマッピングを使用しなくても相互に通信できます。

Required: No

Type: List of String values

LinuxParameters

コンテナに適用される Linux 固有オプション。

必須: いいえ

タイプ: Amazon ECS TaskDefinition LinuxParameters

LogConfiguration

コンテナのカスタムログドライバを設定します。詳細については、Amazon Elastic Container Service API ReferenceContainerDefinition データ型の logConfiguration コンテンツを参照してください。

Required: No

Type: Amazon ECS TaskDefinition LogConfiguration

Memory

コンテナ用に予約するメモリの MiB 数。コンテナが割り当てられたメモリを超えようとすると、そのコンテナは終了されます。

Required: Conditional。Memory または MemoryReservation プロパティのうち、1 つまたは両方を指定する必要があります。両方を指定した場合、Memory プロパティの値は、MemoryReservation プロパティの値よりも大きい必要があります。

Type: Integer

MemoryReservation

コンテナ用に予約するメモリの MiB 数。システムメモリが競合している場合、Docker はコンテナメモリを制限内に維持するよう試みます。コンテナでより多くのメモリが必要な場合は、Memory プロパティで指定された値まで、またはコンテナインスタンスで使用可能なすべてのメモリのどちらか早く到達する方まで使用できます。これをソフト制限と呼びます。

Required: Conditional。Memory または MemoryReservation プロパティのうち、1 つまたは両方を指定する必要があります。両方を指定した場合、Memory プロパティの値は、MemoryReservation プロパティの値よりも大きい必要があります。

Type: Integer

MountPoints

コンテナ内のデータボリュームのマウントポイント。

Required: No

: Amazon ECS TaskDefinition MountPoint プロパティタイプのリスト

Name

コンテナの名前。

必須: はい

Type: String

PortMappings

ホストポートへのコンテナポートのマッピング。ポートマッピングにより、コンテナはホストコンテナインスタンス上のポートにアクセスしてトラフィックを送受信できるようになります。

Required: No

: Amazon ECS TaskDefinition ContainerDefinitions PortMapping プロパティタイプのリスト

Privileged

コンテナにホストコンテナインスタンスへのフルアクセスが付与されるかどうかを示します。

Required: No

Type: Boolean

ReadonlyRootFilesystem

コンテナのルートファイルシステムが読み取り専用としてマウントされるかどうかを示します。

Required: No

Type: Boolean

Ulimits

コンテナ内で設定する ulimit のリスト。ulimit は、コンテナが消費可能なリソース数に制約を設定し、ホスト上の使用可能なリソースがすべて消費されないようにします。

Required: No

Amazon ECS TaskDefinition Ulimit プロパティタイプの Type: リスト

User

コンテナ内で使用するユーザー名。

Required: No

Type: String

VolumesFrom

別コンテナからマウントするデータボリューム。

Required: No

: Amazon ECS TaskDefinition VolumeFrom プロパティタイプのリスト

WorkingDirectory

コマンドを実行するコンテナの作業ディレクトリ。

Required: No

Type: String

以下の資料も参照してください。