

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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)
+ [Type](#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)
+ [Changelog](#docker-application-manager-component-changelog)
+ [다음 사항도 참조하세요.](#docker-application-manager-component-see-also)

## 버전
<a name="docker-application-manager-component-versions"></a>

이 구성 요소에는 다음과 같은 버전이 있습니다.
+ 2.0.x

## Type
<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
+ Windows

## 요구 사항
<a name="docker-application-manager-component-requirements"></a>

이 구성 요소의 요구 사항은 다음과 같습니다.
+ <a name="docker-engine-requirement"></a>Greengrass 코어 디바이스에 [Docker Engine](https://docs.docker.com/engine/) 1.9.1 이상이 설치되어 있어야 합니다. 버전 20.10은 AWS IoT Greengrass 코어 소프트웨어에서 작동하는 것으로 확인된 최신 버전입니다. 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) ]

  `ggc_user` 또는 Docker 컨테이너 구성 요소를 실행하는 데 사용하는 사용자를 `docker-users` 그룹에 추가하려면 관리자로 다음 명령을 실행합니다.

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

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

  `ggc_user` 또는 Docker 컨테이너 구성 요소를 실행하는 데 사용하는 사용자를 `docker-users` 그룹에 추가하려면 관리자로 다음 명령을 실행합니다.

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

------
+ <a name="docker-proxy-requirement"></a>[네트워크 프록시를 사용하도록 AWS IoT Greengrass 코어 소프트웨어를 구성하는](configure-greengrass-core-v2.md#configure-alpn-network-proxy) 경우 [동일한 프록시 서버를 사용하도록 Docker를 구성](https://docs.docker.com/network/proxy/)해야 합니다.
+ Docker 이미지가 Amazon ECR 프라이빗 레지스트리에 저장되어 있는 경우 토큰 교환 서비스 구성 요소를 Docker 컨테이너 구성 요소에 종속성으로 포함해야 합니다. 또한 다음 예제 IAM 정책에 표시된 대로 [Greengrass 디바이스 역할](device-service-role.md)에서 `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) 단원을 참조하십시오.


| 엔드포인트 | 포트 | 필수 | 설명 | 
| --- | --- | --- | --- | 
|  `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)에서도 각 구성 요소 버전에 대한 종속성을 볼 수 있습니다. 구성 요소 세부 정보 페이지에서 **종속성** 목록을 찾습니다.

------
#### [ 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 | 소프트 | 

------

구성 요소 종속성에 대한 자세한 내용은 [구성 요소 레시피 참조](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
  ```

------

## Changelog
<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) 