

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Docker アプリケーションマネージャー
<a name="docker-application-manager-component"></a>

Docker アプリケーションマネージャーコンポーネント (`aws.greengrass.DockerApplicationManager`) を使用すると AWS IoT Greengrass 、 は Amazon Elastic Container Registry (Amazon ECR) でホストされているパブリックイメージレジストリとプライベートレジストリから Docker イメージをダウンロードできます。また AWS IoT Greengrass 、 は認証情報を自動的に管理して、Amazon ECR のプライベートリポジトリからイメージを安全にダウンロードすることもできます。

Docker コンテナを実行するカスタムコンポーネントを開発するときには、Docker アプリケーションマネージャーを依存関係として含めて、コンポーネント内のアーティファクトとして指定された Docker イメージをダウンロードします。詳細については、「[Docker コンテナの実行](run-docker-container.md)」を参照してください。

**Topics**
+ [バージョン](#docker-application-manager-component-versions)
+ [タイプ](#docker-application-manager-component-type)
+ [オペレーティングシステム](#docker-application-manager-component-os-support)
+ [要件](#docker-application-manager-component-requirements)
+ [依存関係](#docker-application-manager-component-dependencies)
+ [設定](#docker-application-manager-component-configuration)
+ [ローカルログファイル](#docker-application-manager-component-log-file)
+ [変更ログ](#docker-application-manager-component-changelog)
+ [関連情報](#docker-application-manager-component-see-also)

## バージョン
<a name="docker-application-manager-component-versions"></a>

このコンポーネントには、次のバージョンがあります。
+ 2.0.x

## タイプ
<a name="docker-application-manager-component-type"></a>

<a name="public-component-type-generic"></a>この<a name="public-component-type-generic-phrase"></a>コンポーネントはジェネリックコンポーネント (`aws.greengrass.generic`) です。[Greengrass nucleus](greengrass-nucleus-component.md) は、コンポーネントのライフサイクルスクリプトを実行します。

<a name="public-component-type-more-information"></a>詳細については、「[コンポーネントタイプ](develop-greengrass-components.md#component-types)」を参照してください。

## オペレーティングシステム
<a name="docker-application-manager-component-os-support"></a>

このコンポーネントは、次のオペレーティングシステムを実行するコアデバイスにインストールできます。
+ Linux
+ Server 

## 要件
<a name="docker-application-manager-component-requirements"></a>

このコンポーネントには次の要件があります。
+ <a name="docker-engine-requirement"></a>[Docker Engine](https://docs.docker.com/engine/) 1.9.1 以降が Greengrass コアにインストールされていいること。バージョン 20.10 は、 AWS IoT Greengrass Core ソフトウェアで動作することが検証された最新バージョンです。Docker コンテナを実行するコンポーネントをデプロイする前に、コアデバイスに直接、Docker をインストールしておく必要があります。
+ <a name="docker-daemon-requirement"></a>このコンポーネントをデプロイする前に、Docker デーモンがコアデバイス上で起動し、実行されています。
+ Docker イメージは、次のいずれかのサポートされているイメージソースに格納されています。
  + Amazon Elastic Container Registry (Amazon ECR) のパブリックイメージリポジトリおよびプライベートイメージリポジトリ
  + パブリック Docker Hub リポジトリ
  + パブリック Docker の信頼レジストリ
+ カスタム Docker コンテナコンポーネントにアーティファクトとして含まれる Docker イメージ。次の URI 形式を使用して、Docker イメージを指定します。<a name="docker-image-artifact-uri"></a>
  + プライベート Amazon ECR イメージ: `docker:account-id.dkr.ecr.region.amazonaws.com/repository/image[:tag|@digest]`
  + パブリック Amazon ECR イメージ: `docker:public.ecr.aws/repository/image[:tag|@digest]`
  + パブリック Docker Hub イメージ: `docker:name[:tag|@digest]`

  詳細については、「[Docker コンテナの実行](run-docker-container.md)」を参照してください。
**注記**  
イメージのアーティファクト URI にイメージタグまたはイメージダイジェストを指定しなかった場合、Docker アプリケーションマネージャーがカスタム Docker コンテナコンポーネントをデプロイするときに、そのイメージの最新バージョンを取得します。すべてのコアデバイスで、確実に同じバージョンのイメージが実行されるようにするため、アーティファクト URI にイメージタグまたはイメージダイジェストを含めることをお勧めします。
+ <a name="docker-user-permissions-requirement"></a>Docker コンテナコンポーネントを実行するシステムユーザーには、ルート権限または管理者権限が必要です。権限がない場合は、ルート権限または管理者権限を持たないユーザーとして実行されるように Docker を設定する必要があります。
  + Linux デバイスでは、ユーザーを `docker` グループに追加することで、`sudo` のない `docker` コマンドを呼び出せます。
  + Windows デバイスでは、ユーザーを `docker-users` グループ に追加することで、管理者の権限のない `docker` コマンドを呼び出せます。

------
#### [ Linux or Unix ]

  Docker コンテナコンポーネントの実行に使用する `ggc_user` または非ルートユーザーを `docker` グループに追加するには、次のコマンドを実行します。

  ```
  sudo usermod -aG docker ggc_user
  ```

  詳細については、「[Docker を非ルートユーザーとして管理する](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user)」を参照してください。

------
#### [ Windows Command Prompt (CMD) ]

  Docker コンテナコンポーネントの実行に使用する `ggc_user` またはユーザーを `docker-users` グループに追加するには、次のコマンドを管理者として実行します。

  ```
  net localgroup docker-users ggc_user /add
  ```

------
#### [ Windows PowerShell ]

  Docker コンテナコンポーネントの実行に使用する `ggc_user` またはユーザーを `docker-users` グループに追加するには、次のコマンドを管理者として実行します。

  ```
  Add-LocalGroupMember -Group docker-users -Member ggc_user
  ```

------
+ <a name="docker-proxy-requirement"></a>[ネットワークプロキシを使用するように AWS IoT Greengrass Core ソフトウェアを設定する](configure-greengrass-core-v2.md#configure-alpn-network-proxy)場合は、[同じプロキシサーバーを使用するように Docker を設定](https://docs.docker.com/network/proxy/)する必要があります。
+ Docker イメージが Amazon ECR プライベートレジストリに格納されている場合は、トークン交換サービスコンポーネントを依存関係として Docker コンテナコンポーネントに含める必要があります。また、[Greengrass デバイスのロール](device-service-role.md)は、以下の IAM ポリシー例で示されているように、`ecr:GetAuthorizationToken`、`ecr:BatchGetImage`、`ecr:GetDownloadUrlForLayer` アクションを許可する必要があります。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "ecr:GetAuthorizationToken",
          "ecr:BatchGetImage",
          "ecr:GetDownloadUrlForLayer"
        ],
        "Resource": [
          "*"
        ],
        "Effect": "Allow"
      }
    ]
  }
  ```

------

  ```
  ```
+ docker アプリケーションマネージャーコンポーネントは、VPC での実行がサポートされています。このコンポーネントを VPC にデプロイするには、以下が必要です。
  + docker アプリケーションマネージャーコンポーネントには、イメージをダウンロードするための接続が必要です。例えば、ECR を使用する場合は、次のエンドポイントに接続する必要があります。
    + `*.dkr.ecr.region.amazonaws.com` (VPC エンドポイント `com.amazonaws.region.ecr.dkr`)
    + `api.ecr.region.amazonaws.com` (VPC エンドポイント `com.amazonaws.region.ecr.api`)

### エンドポイントおよびポート
<a name="docker-application-manager-component-endpoints"></a>

このコンポーネントは、基本的な操作に必要なエンドポイントとポートに加えて、次のエンドポイントとポートに対し、アウトバウンドリクエストを実行できる必要があります。詳細については、「[プロキシまたはファイアウォールを介したデバイストラフィックを許可する](allow-device-traffic.md)」を参照してください。


| Endpoint | ポート | 必要 | 説明 | 
| --- | --- | --- | --- | 
|  `ecr.region.amazonaws.com`  | 443 | 不可 |  Amazon ECR から Docker イメージをダウンロードする場合に必要です。  | 
|  `hub.docker.com` `registry.hub.docker.com/v1`  | 443 | 不可 |  Docker Hub から Docker イメージをダウンロードする場合に必要です。  | 

## 依存関係
<a name="docker-application-manager-component-dependencies"></a>

コンポーネントをデプロイすると、 は互換性のあるバージョンの依存関係 AWS IoT Greengrass もデプロイします。つまり、コンポーネントを正常にデプロイするには、コンポーネントとその依存関係のすべての要件を満たす必要があります。このセクションでは、このコンポーネントの[リリースされたバージョン](#docker-application-manager-component-changelog)の依存関係と、各依存関係に対するコンポーネントのバージョンを定義するセマンティックバージョン制約をリスト表示しています。コンポーネントの各バージョンの依存関係は、[AWS IoT Greengrass コンソール](https://console.aws.amazon.com//greengrass)でも確認できます。コンポーネントの詳細ページで **[Dependencies]** (依存関係) リストを確認します。

------
#### [ 2.0.15 ]

次の表に、このコンポーネントのバージョン 2.0.15 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.17.0 | ソフト | 

------
#### [ 2.0.14 ]

次の表に、このコンポーネントのバージョン 2.0.14 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.16.0 | ソフト | 

------
#### [ 2.0.13 ]

次の表に、このコンポーネントのバージョン 2.0.13 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.15.0 | ソフト | 

------
#### [ 2.0.12 ]

次の表に、このコンポーネントのバージョン 2.0.12 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.14.0 | ソフト | 

------
#### [ 2.0.11 ]

次の表に、このコンポーネントのバージョン 2.0.11 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.13.0 | ソフト | 

------
#### [ 2.0.10 ]

次の表に、このコンポーネントのバージョン 2.0.10 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | ソフト | 

------
#### [ 2.0.9 ]

次の表に、このコンポーネントのバージョン 2.0.9 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | ソフト | 

------
#### [ 2.0.8 ]

次の表に、このコンポーネントのバージョン 2.0.8 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | ソフト | 

------
#### [ 2.0.7 ]

次の表に、このコンポーネントのバージョン 2.0.7 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | ソフト | 

------
#### [ 2.0.6 ]

次の表に、このコンポーネントのバージョン 2.0.6 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | ソフト | 

------
#### [ 2.0.5 ]

次の表に、このコンポーネントのバージョン 2.0.5 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | ソフト | 

------
#### [ 2.0.4 ]

次の表に、このコンポーネントのバージョン 2.0.4 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | ソフト | 

------
#### [ 2.0.3 ]

次の表に、このコンポーネントのバージョン 2.0.3 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | ソフト | 

------
#### [ 2.0.2 ]

次の表に、このコンポーネントのバージョン 2.0.2 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | ソフト | 

------
#### [ 2.0.1 ]

次の表に、このコンポーネントのバージョン 2.0.1 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | ソフト | 

------
#### [ 2.0.0 ]

次の表に、このコンポーネントのバージョン 2.0.0 の依存関係を示します。


| 依存関係 | 互換性のあるバージョン | 依存関係タイプ | 
| --- | --- | --- | 
| [Greengrass nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0 | ソフト | 

------

コンポーネントの依存関係の詳細については、「[コンポーネント recipe のリファレンス](component-recipe-reference.md#recipe-reference-component-dependencies)」を参照してください。

## 設定
<a name="docker-application-manager-component-configuration"></a>

このコンポーネントに設定パラメータはありません。

## ローカルログファイル
<a name="docker-application-manager-component-log-file"></a>

このコンポーネントは、[Greengrass nucleus](greengrass-nucleus-component.md) コンポーネントと同じログファイルを使用します。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**このコンポーネントのログを確認するには**
+ コアデバイスに次のコマンドを実行して、このコンポーネントのログファイルをリアルタイムに確認します。`/greengrass/v2` または *C:\$1greengrass\$1v2* を AWS IoT Greengrass ルートフォルダへのパスに置き換えます。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 変更ログ
<a name="docker-application-manager-component-changelog"></a>

次の表は、コンポーネントの各バージョンにおける変更を示します。


|   **バージョン**   |   **変更**   | 
| --- | --- | 
|  2.0.15  |  Greengrass nucleus バージョン 2.16.0 リリース用にバージョンが更新されました。  | 
|  2.0.14  | Greengrass nucleus バージョン 2.15.0 リリース用にバージョンが更新されました。 | 
|  2.0.13  | Greengrass nucleus バージョン 2.14.0 リリース用にバージョンが更新されました。 | 
|  2.0.12  | Greengrass nucleus バージョン 2.13.0 のリリース用にバージョンが更新されました。 | 
|  2.0.11  | Greengrass nucleus バージョン 2.12.0 のリリース用にバージョンが更新されました。 | 
|  2.0.10  | Greengrass nucleus バージョン 2.11.0 のリリース用にバージョンが更新されました。 | 
|  2.0.9  | Greengrass nucleus バージョン 2.10.0 のリリース用にバージョンが更新されました。 | 
|  2.0.8  | Greengrass nucleus バージョン 2.9.0 のリリース用にバージョンが更新されました。 | 
|  2.0.7  | Greengrass nucleus バージョン 2.8.0 のリリース用にバージョンが更新されました。 | 
|  2.0.6  |  Greengrass nucleus バージョン 2.7.0 のリリース用にバージョンが更新されました。  | 
|  2.0.5  |  Greengrass nucleus バージョン 2.6.0 のリリース用にバージョンが更新されました。  | 
|  2.0.4  |  Greengrass nucleus バージョン 2.5.0 のリリース用にバージョンが更新されました。  | 
|  2.0.3  |  Greengrass nucleus バージョン 2.4.0 のリリース用にバージョンが更新されました。  | 
|  2.0.2  |  Greengrass nucleus バージョン 2.3.0 のリリース用にバージョンが更新されました。  | 
|  2.0.1  |  Greengrass nucleus バージョン 2.2.0 のリリース用にバージョンが更新されました。  | 
|  2.0.0  |  当初のバージョン  | 

## 関連情報
<a name="docker-application-manager-component-see-also"></a>
+  [Docker コンテナの実行](run-docker-container.md) 