AWS CloudFormation
사용 설명서 (API 버전 2010-05-15)

AWS::ECS::TaskDefinition ContainerDefinition

ContainerDefinition 속성은 컨테이너 정의를 지정합니다. 컨테이너 정의는 작업의 일부로 시작되는 여러 컨테이너를 기술하기 위해 작업 정의에 사용됩니다.

구문

AWS CloudFormation 템플릿에서 이 개체를 선언하려면 다음 구문을 사용합니다.

JSON

{ "Command" : [ String, ... ], "Cpu" : Integer, "DependsOn" : [ ContainerDependency, ... ], "DisableNetworking" : Boolean, "DnsSearchDomains" : [ String, ... ], "DnsServers" : [ String, ... ], "DockerLabels" : {Key : Value, ...}, "DockerSecurityOptions" : [ String, ... ], "EntryPoint" : [ String, ... ], "Environment" : [ KeyValuePair, ... ], "Essential" : Boolean, "ExtraHosts" : [ HostEntry, ... ], "HealthCheck" : HealthCheck, "Hostname" : String, "Image" : String, "Links" : [ String, ... ], "LinuxParameters" : LinuxParameters, "LogConfiguration" : LogConfiguration, "Memory" : Integer, "MemoryReservation" : Integer, "MountPoints" : [ MountPoint, ... ], "Name" : String, "PortMappings" : [ PortMapping, ... ], "Privileged" : Boolean, "ReadonlyRootFilesystem" : Boolean, "RepositoryCredentials" : RepositoryCredentials, "ResourceRequirements" : [ ResourceRequirement, ... ], "Secrets" : [ Secret, ... ], "StartTimeout" : Integer, "StopTimeout" : Integer, "Ulimits" : [ Ulimit, ... ], "User" : String, "VolumesFrom" : [ VolumeFrom, ... ], "WorkingDirectory" : String }

Properties

Command

컨테이너로 전달되는 명령입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 CmdCOMMAND 파라미터를 docker run에 매핑합니다. 자세한 내용은 https://docs.docker.com/engine/reference/builder/#cmd를 참조하십시오. 여러 인수가 있는 경우 각 인수는 배열에서 각각 분리된 문자열이어야 합니다.

Required: 아니요

Type: String 목록

Update requires: Replacement

Cpu

컨테이너용으로 예약된 cpu 유닛의 수입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 CpuSharesdocker run에 대한 --cpu-shares 옵션에 매핑됩니다.

Fargate 시작 유형을 사용하는 작업의 경우 이 필드는 선택 사항이며, 한 가지 요구 사항은 작업 내 모든 컨테이너에 예약된 CPU 총량이 작업 레벨의 cpu 값보다 작아야 합니다.

참고

Amazon EC2 인스턴스 세부 정보 페이지에서 해당 인스턴스 유형에 대해 나열된 vCPU에 1,024를 곱해 EC2 인스턴스 유형당 사용 가능한 CPU 단위 수를 계산할 수 있습니다.

예를 들어 컨테이너에 512개 CPU 단위가 지정된 상태로 싱글 코어 인스턴스 유형에서 단일 컨테이너 작업을 실행하고 이 작업이 컨테이너 인스턴스에서 실행되는 유일한 작업일 경우 해당 컨테이너는 언제라도 1,024개 CPU 단위 전부를 사용할 수 있습니다. 하지만 해당 컨테이너 인스턴스에서 동일한 작업의 다른 사본을 시작한 경우 각 작업에는 필요 시 최소 512개 CPU 단위가 보장되고 각 컨테이너는 다른 컨테이너가 사용하지 않을 경우 더 많은 CPU 단위를 사용할 수 있지만 두 작업 모두 항상 100% 활성 상태일 경우 각각 512개 CPU 단위로 제한됩니다.

Linux 컨테이너는 할당된 양과 동일한 비율로, 컨테이너 인스턴스의 다른 컨테이너와 할당되지 않은 CPU 단위를 공유합니다. 예를 들어 컨테이너에 512개 CPU 단위가 지정된 상태로 싱글 코어 인스턴스 유형에서 단일 컨테이너 작업을 실행하고 이 작업이 컨테이너 인스턴스에서 실행되는 유일한 작업일 경우 해당 컨테이너는 언제라도 1,024개 CPU 단위 전부를 사용할 수 있습니다. 하지만 해당 컨테이너 인스턴스에서 동일한 작업의 다른 사본을 시작한 경우 각 작업에는 필요 시 최소 512개 CPU 단위가 보장되고 각 컨테이너는 다른 컨테이너가 사용하지 않을 경우 더 많은 CPU 단위를 사용할 수 있지만 두 작업 모두 항상 100% 활성 상태일 경우 각각 512개 CPU 단위로 제한됩니다.

Linux 컨테이너 인스턴스에서, 컨테이너 인스턴스의 도커 데몬은 CPU 값을 사용하여 실행 컨테이너의 CPU 공유 비율을 계산합니다. 자세한 내용은 Docker 설명서의 CPU 공유 제약 단원을 참조하십시오. Linux 커널이 허용하는 최소 유효 CPU 공유 값은 2입니다. 하지만 CPU 파라미터는 필수 항목이 아니며 컨테이너 정의에서 2 미만의 CPU 값을 사용할 수 있습니다. CPU 값이 2 미만일 경우(null 포함)의 동작은 Amazon ECS 컨테이너 에이전트 버전에 따라 달라집니다.

  • 에이전트 버전 1.1.0 이하: null 및 0의 CPU 값이 Docker에 0으로 전달되고, Docker는 이를 1,024개 CPU 공유로 변환합니다. 1의 CPU 값이 도커에 1로 전달되고, Linux 커널이 이를 2개 CPU 공유로 변환합니다.

  • 에이전트 버전 1.2.0 이상: Null, 0, CPU 값 1은 Docker에 2로 전달됩니다.

Windows 컨테이너 인스턴스에서 CPU 한도는 절대 한도(할당량)로 적용됩니다. Windows 컨테이너는 작업 정의에 기술된 해당 CPU 용량만 액세스할 수 있습니다.

Required: 아니요

Type: 정수

Update requires: Replacement

DependsOn

컨테이너 시작 및 종료에 대해 정의된 종속성입니다. 컨테이너는 여러 종속성을 포함할 수 있습니다. 컨테이너가 시작될 때 종속성이 정의되면 컨테이너를 종료할 때 종속성이 취소됩니다.

EC2 시작 유형을 사용하는 작업의 경우, 컨테이너 종속성을 사용하려면 컨테이너 인스턴스에 버전 1.26.0 이상의 컨테이너 에이전트가 필요합니다. 그러나 최신 버전의 컨테이너 에이전트를 사용하는 것이 좋습니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서Amazon ECS 컨테이너 에이전트 업데이트를 참조하십시오. Amazon ECS 최적화 Linux AMI를 사용하는 경우 해당 인스턴스에는 1.26.0-1 이상 버전의 ecs-init 패키지가 필요합니다. 컨테이너 인스턴스가 버전 20190301 이상에서 시작된 경우 필요한 버전의 컨테이너 에이전트 및 ecs-init가 포함되어 있습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 Amazon ECS 최적화 Linux AMI 단원을 참조하십시오.

이 파라미터는 오하이오(us-east-2) 리전에서 Fargate 시작 유형을 사용하는 작업에만 사용할 수 있으며 작업 또는 서비스에는 플랫폼 버전 1.3.0 이상이 필요합니다.

Required: 아니요

Type: ContainerDependency의 목록

Update requires: Replacement

DisableNetworking

이 파라미터가 true일 경우 컨테이너 내에서 네트워킹이 비활성화됩니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 NetworkDisabled에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: 부울

Update requires: Replacement

DnsSearchDomains

컨테이너에 제공되는 DNS 검색 도메인의 목록입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 DnsSearchdocker run에 대한 --dns-search 옵션에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: String 목록

Update requires: Replacement

DnsServers

컨테이너에 제공되는 DNS 서버의 목록입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Dnsdocker run에 대한 --dns 옵션에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: String 목록

Update requires: Replacement

DockerLabels

컨테이너에 추가할 레이블의 키/값 맵입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Labelsdocker run에 대한 --label 옵션에 매핑됩니다. 이 파라미터를 사용하려면 컨테이너 인스턴스에서 도커 원격 API 버전 1.18 이상을 사용해야 합니다. 컨테이너 인스턴스의 도커 원격 API 버전을 확인하려면, 컨테이너 인스턴스에 로그인한 후 sudo docker version --format '{{.Server.APIVersion}}' 명령을 실행합니다.

Required: 아니요

Type: 문자열 맵

Update requires: Replacement

DockerSecurityOptions

SELinux 및 AppArmor 다중 수준 보안 시스템에 사용자 지정 레이블을 제공할 문자열 목록입니다. 이 필드는 Fargate 시작 유형을 사용하는 작업의 컨테이너에는 사용할 수 없습니다.

이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 SecurityOptdocker run에 대한 --security-opt 옵션에 매핑됩니다.

참고

컨테이너 인스턴스에서 실행되는 Amazon ECS 컨테이너 에이전트는 ECS_SELINUX_CAPABLE=true 또는 ECS_APPARMOR_CAPABLE=true 환경 변수를 사용하여 해당 인스턴스에서 사용 가능한 로깅 드라이버를 등록해야 해당 인스턴스에 배치된 컨테이너가 이들 보안 옵션을 사용할 수 있습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 Amazon ECS 컨테이너 에이전트 구성을 참조하십시오.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: String 목록

Update requires: Replacement

EntryPoint

중요

초기 버전의 Amazon ECS 컨테이너 에이전트는 entryPoint 파라미터를 적절히 처리하지 못합니다. entryPoint를 사용하는 데 문제가 있을 경우 컨테이너 에이전트를 업데이트하거나 명령 및 인수를 command 배열 항목으로 입력하십시오.

컨테이너로 전달되는 진입점입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Entrypointdocker run에 대한 --entrypoint 옵션에 매핑됩니다. 자세한 내용은 https://docs.docker.com/engine/reference/builder/#entrypoint를 참조하십시오.

Required: 아니요

Type: String 목록

Update requires: Replacement

Environment

컨테이너로 전달할 환경 변수입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Envdocker run에 대한 --env 옵션에 매핑됩니다.

중요

자격 증명 데이터와 같은 민감한 정보에 대해서는 일반 텍스트 환경 변수를 사용하지 않는 것이 좋습니다.

Required: 아니요

Type: KeyValuePair 목록

Update requires: Replacement

Essential

컨테이너의 essential 파라미터가 true로 표시된 경우 해당 컨테이너가 어떤 이유로든 실패 또는 중지하는 경우 작업의 일부인 다른 모든 컨테이너도 중지합니다. 컨테이너의 essential 파라미터가 false로 표시된 경우에는 해당 컨테이너의 실패가 작업의 나머지 컨테이너에 영향을 주지 않습니다. 이 파라미터가 생략된 경우 컨테이너가 필수로 간주됩니다.

모든 작업에는 하나 이상의 필수 컨테이너가 있어야 합니다. 애플리케이션이 여러 컨테이너로 구성되는 경우 동일한 용도로 사용되는 컨테이너를 구성 요소로 그룹화하고 각 구성 요소를 서로 다른 작업 정의로 분리해야 합니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 애플리케이션 아키텍처를 참조하십시오.

Required: 아니요

Type: 부울

Update requires: Replacement

ExtraHosts

컨테이너의 /etc/hosts 파일에 추가할 호스트 이름 및 IP 주소 매핑의 목록입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 ExtraHostsdocker run에 대한 --add-host 옵션에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너 또는 awsvpc 네트워크 모드를 사용하는 작업에 대해서는 지원되지 않습니다.

Required: 아니요

Type: HostEntry 목록

Update requires: Replacement

HealthCheck

해당 컨테이너에 대한 상태 확인 명령 및 연결된 구성 파라미터. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 HealthCheckdocker runHEALTHCHECK 파라미터에 매핑됩니다.

Required: 아니요

Type: HealthCheck

Update requires: Replacement

Hostname

컨테이너에 사용할 호스트 이름입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Hostnamedocker run에 대한 --hostname 옵션에 매핑됩니다.

참고

awsvpc 네트워크 모드를 사용 중인 경우에는 hostname 파라미터가 지원되지 않습니다.

Required: 아니요

Type: 문자열

Update requires: Replacement

Image

컨테이너를 시작하는 데 사용되는 이미지입니다. 이 문자열은 도커 데몬으로 직접 전달됩니다. Docker Hub 레지스트리 내 이미지는 기본적으로 사용 가능합니다. 다른 리포지토리는 repository-url/image:tag 또는 repository-url/image@digest 를 사용하여 지정됩니다. 최대 255개의 문자(대문자 및 소문자), 숫자, 하이픈, 밑줄, 콜론, 마침표, 슬래시 및 부호가 허용됩니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Imagedocker runIMAGE 파라미터에 매핑됩니다.

  • 새 작업이 시작될 때 Amazon ECS 컨테이너 에이전트가 컨테이너에서 사용할 지정 이미지와 태그의 최신 버전을 끌어옵니다. 그러나 이미 실행 중인 작업에는 추후 리포지토리 이미지 업데이트가 전파되지 않습니다.

  • Amazon ECR 리포지토리의 이미지는 전체 registry/repository:tag 또는 registry/repository@digest 이름 지정 규칙을 사용하여 지정할 수 있습니다. 예를 들어 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest 또는 012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE입니다.

  • Docker Hub 공식 리포지토리 안의 이미지는 단일 이름을 사용합니다(예: ubuntu 또는 mongo).

  • Docker Hub의 다른 리포지토리에 저장된 이미지는 조직 이름으로 한정됩니다(예: amazon/amazon-ecs-agent).

  • Docker Hub 상의 다른 리포지토리 안의 이미지는 도메인 이름을 사용하여 추가로 한정됩니다(예: quay.io/assemblyline/ubuntu).

Required: 아니요

Type: 문자열

Update requires: Replacement

Links

links 파라미터는 포트 매핑 필요 없이 컨테이너가 서로 통신하도록 허용합니다. 이 파라미터는 작업 정의의 네트워크 모드가 bridge로 설정된 경우에만 지원됩니다. name:internalName 구성은 Docker 링크의 name:alias와 유사합니다. 최대 255자의 문자(대문자 및 소문자), 숫자, 하이픈을 사용할 수 있습니다. Docker 컨테이너 연결에 대한 자세한 내용은 Docker 설명서의 레거시 컨테이너 연결을 참조하십시오. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Linksdocker run에 대한 --link 옵션에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

중요

동일한 컨테이너 인스턴스에 배치된 컨테이너는 링크 또는 호스트 포트 매핑 없이도 서로 통신할 수 있습니다. 컨테이너 인스턴스에서 네트워크 격리는 보안 그룹 및 VPC 설정을 사용하여 구현합니다.

Required: 아니요

Type: String 목록

Update requires: Replacement

LinuxParameters

컨테이너에 적용되는 Linux 수정(예: Linux 커널 기능)입니다. 자세한 내용은 KernelCapabilities를 참조하십시오.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: LinuxParameters

Update requires: Replacement

LogConfiguration

컨테이너의 로그 구성 사양입니다.

Fargate 시작 유형을 사용하는 경우 유일하게 지원되는 값은 awslogs입니다.

이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 LogConfigdocker run에 대한 --log-driver 옵션에 매핑됩니다. 기본적으로 컨테이너는 도커 데몬이 사용하는 것과 동일한 로깅 드라이버를 사용합니다. 하지만 컨테이너는 컨테이너 정의에 이 파라미터를 사용하여 로그 드라이버를 지정함으로써 도커 데몬과 다른 로깅 드라이버를 사용할 수 있습니다. 컨테이너에 다른 로깅 드라이버를 사용하려면 컨테이너 인스턴스에서(또는 원격 로깅 옵션의 다른 로그 서버에서) 로그 시스템이 올바르게 구성되어야 합니다. 지원되는 다양한 로그 드라이버 옵션에 대한 자세한 내용은 도커 설명서의 로깅 드라이버 구성 단원을 참조하십시오.

참고

현재 Amzaon ECS는 도커 데몬에서 사용 가능한 로깅 드라이버의 하위 집합을 지원합니다(LogConfiguration 데이터 형식에 표시됨). 향후의 Amazon ECS 컨테이너 에이전트 릴리스에서 로그 드라이버가 추가될 예정입니다.

이 파라미터를 사용하려면 컨테이너 인스턴스에서 도커 원격 API 버전 1.18 이상을 사용해야 합니다. 컨테이너 인스턴스의 도커 원격 API 버전을 확인하려면, 컨테이너 인스턴스에 로그인한 후 sudo docker version --format '{{.Server.APIVersion}}' 명령을 실행합니다.

참고

컨테이너 인스턴스에서 실행되는 Amazon ECS 컨테이너 에이전트는 ECS_AVAILABLE_LOGGING_DRIVERS 환경 변수를 사용하여 해당 인스턴스에서 사용 가능한 로깅 드라이버를 등록해야 해당 인스턴스에 배치된 컨테이너가 이들 로그 구성 옵션을 사용할 수 있습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 Amazon ECS 컨테이너 에이전트 구성을 참조하십시오.

Required: 아니요

Type: LogConfiguration

Update requires: Replacement

Memory

컨테이너에 표시할 메모리의 양(MiB)입니다. 컨테이너가 여기서 지정된 메모리를 초과하려 하면 해당 컨테이너가 중지됩니다. 작업 내 모든 컨테이너에 대해 예약된 총 메모리 양은 작업 memory 값(지정된 경우)보다 작아야 합니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Memorydocker run에 대한 --memory 옵션에 매핑됩니다.

컨테이너가 Fargate 시작 유형을 사용하는 작업의 일부인 경우 이 필드는 선택 항목입니다.

EC2 시작 유형을 사용하는 작업의 일부인 컨테이너의 경우, 컨테이너 정의에서 memory 또는 memoryReservation 중 하나 또는 둘 다에 대해 0이 아닌 정수를 지정해야 합니다. 둘 모두 지정하는 경우 memorymemoryReservation보다 커야 합니다. memoryReservation을 지정하는 경우 컨테이너가 배치된 컨테이너 인스턴스의 가용 메모리 리소스에서 해당 값이 차감됩니다. 그렇지 않으면 memory 값이 사용됩니다.

도커 데몬은 컨테이너용으로 최소 4MiB의 메모리를 예약합니다. 그러므로 컨테이너에 대해 4MiB 미만의 메모리를 지정하면 안 됩니다.

Required: 아니요

Type: 정수

Update requires: Replacement

MemoryReservation

컨테이너용으로 예약할 메모리의 소프트 제한(MiB)입니다. 시스템 메모리가 심각하게 경합하는 경우 도커는 컨테이너 메모리를 이 소프트 한도로 유지하려고 합니다. 하지만, 컨테이너는 memory 파라미터에 지정된 하드 한도까지 추가 메모리를 사용하거나, 필요한 경우 컨테이너 인스턴스의 모든 가용 메모리를 사용할 수 있습니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 MemoryReservationdocker run에 대한 --memory-reservation 옵션에 매핑됩니다.

컨테이너 정의에서 memory 또는 memoryReservation 중 하나 또는 모두에 0이 아닌 정수를 지정해야 합니다. 둘 모두 지정하는 경우 memorymemoryReservation보다 커야 합니다. memoryReservation을 지정하는 경우 컨테이너가 배치된 컨테이너 인스턴스의 가용 메모리 리소스에서 해당 값이 차감됩니다. 그렇지 않으면 memory 값이 사용됩니다.

예를 들어 컨테이너가 통상적으로 128MiB의 메모리를 사용하지만 경우에 따라 잠깐 동안 사용량이 256MiB까지 급증하는 경우 memoryReservation을 128MiB로 설정하고 memory 하드 제한을 300MiB로 설정할 수 있습니다. 이 구성은 컨테이너가 컨테이너 인스턴스의 잔여 리소스 중 128MiB의 메모리만 예약하되, 필요할 경우 더 많은 메모리 리소스를 사용하도록 허용합니다.

도커 데몬은 컨테이너용으로 최소 4MiB의 메모리를 예약합니다. 그러므로 컨테이너에 대해 4MiB 미만의 메모리를 지정하면 안 됩니다.

Required: 아니요

Type: 정수

Update requires: Replacement

MountPoints

컨테이너에서 데이터 볼륨의 탑재 지점입니다.

이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Volumesdocker run에 대한 --volume 옵션에 매핑됩니다.

Windows 컨테이너는 전체 디렉터리를 동일한 드라이브에 $env:ProgramData로 마운트할 수 있습니다. Windows 컨테이너는 디렉터리를 다른 드라이브에 마운트할 수 없으며, 마운트 지점이 여러 드라이브에 있을 수 없습니다.

Required: 아니요

Type: MountPoint 목록

Update requires: Replacement

Name

컨테이너의 이름. 여러 컨테이너를 한 작업 정의에 연결하는 경우 한 컨테이너의 name을 다른 컨테이너의 links에 입력하여 컨테이너를 연결할 수 있습니다. 최대 255자의 문자(대문자 및 소문자), 숫자, 하이픈을 사용할 수 있습니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 namedocker run에 대한 --name 옵션에 매핑됩니다.

Required: 아니요

Type: 문자열

Update requires: Replacement

PortMappings

컨테이너에 대한 포트 매핑의 목록입니다. 포트 매핑은 컨테이너가 호스트 컨테이너 인스턴스의 포트에 액세스하여 트래픽을 송수신하도록 허용합니다.

awsvpc 네트워크 모드를 사용하는 작업 정의의 경우 containerPort만 지정해야 합니다. hostPort는 빈 칸으로 둘 수 있습니다. 아니면 containerPort와 같은 값이어야 합니다.

Windows에서의 포트 매핑은 localhost가 아니라 NetNAT 게이트웨이 주소를 사용합니다. Windows에서의 포트 매핑에는 루프백이 없으므로 호스트 자체에서 매핑된 컨테이너 포트에는 액세스할 수 없습니다.

이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 PortBindingsdocker run에 대한 --publish 옵션에 매핑됩니다. 작업 정의의 네트워크 모드가 none으로 설정되면 포트 매핑을 지정할 수 없습니다. 작업 정의의 네트워크 모드가 host로 설정되어 있으면 호스트 포트가 정의되지 않은 상태이거나 호스트 포트가 포트 매핑의 컨테이너 포트와 일치해야 합니다.

참고

작업이 RUNNING 상태가 되면 Amzaon ECS 콘솔에서 선택된 작업에 대한 컨테이너 설명의 네트워크 바인딩 섹션에 수동 및 자동 호스트 및 컨테이너 포트 할당이 표시됩니다. networkBindings 섹션 DescribeTasks 응답에 할당도 표시됩니다.

Required: 아니요

Type: PortMapping 목록

Update requires: Replacement

Privileged

이 파라미터가 true일 경우 컨테이너에는 호스트 컨테이너 인스턴스에 대한 승격된 권한을 부여받습니다(root 사용자와 비슷함). 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Privilegeddocker run에 대한 --privileged 옵션에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너 또는 Fargate 시작 유형을 사용하는 작업에 대해서는 지원되지 않습니다.

Required: 아니요

Type: 부울

Update requires: Replacement

ReadonlyRootFilesystem

이 파라미터가 true일 경우 컨테이너에는 루트 파일 시스템에 대한 읽기 전용 액세스가 부여됩니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 ReadonlyRootfsdocker run에 대한 --read-only 옵션에 매핑됩니다.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: 부울

Update requires: Replacement

RepositoryCredentials

사용할 프라이빗 리포지토리 인증 자격 증명입니다.

Required: 아니요

Type: RepositoryCredentials

Update requires: Replacement

ResourceRequirements

컨테이너에 할당할 리소스의 유형 및 양입니다. 현재 지원되는 리소스는 GPU뿐입니다.

Required: 아니요

Type: ResourceRequirement 목록

Update requires: Replacement

Secrets

컨테이너에 전달할 암호입니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 중요한 데이터 지정 단원을 참조하십시오.

Required: 아니요

Type: Secret 목록

Update requires: Replacement

StartTimeout

컨테이너에 대한 종속성을 해결할 때까지 기다리는 시간입니다. 예를 들어 containerA에 대한 작업 정의에서 containerB에 대한 종속성이 COMPLETE, SUCCESS 또는 HEALTHY인 두 개의 컨테이너를 지정합니다. containerB에 대해 startTimeout 값이 지정되고 그 시간 내에 원하는 상태에 도달하지 않으면 containerA는 포기하고 시작하지 않습니다. 그 결과 작업이 STOPPED 상태로 전환됩니다.

EC2 시작 유형을 사용하는 작업의 경우, 컨테이너 종속성을 사용하려면 컨테이너 시작 제한 시간 값을 사용하기 위해 컨테이너 인스턴스에 컨테이너 에이전트의 버전 1.26.0 이상이 필요합니다. 그러나 최신 버전의 컨테이너 에이전트를 사용하는 것이 좋습니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서Amazon ECS 컨테이너 에이전트 업데이트를 참조하십시오. Amazon ECS 최적화 Linux AMI를 사용하는 경우 해당 인스턴스에는 1.26.0-1 이상 버전의 ecs-init 패키지가 필요합니다. 컨테이너 인스턴스가 버전 20190301 이상에서 시작된 경우 필요한 버전의 컨테이너 에이전트 및 ecs-init가 포함되어 있습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 Amazon ECS 최적화 Linux AMI 단원을 참조하십시오.

이 파라미터는 오하이오(us-east-2) 리전에서 Fargate 시작 유형을 사용하는 작업에만 사용할 수 있으며 작업 또는 서비스에는 플랫폼 버전 1.3.0 이상이 필요합니다.

Required: 아니요

Type: 정수

Update requires: Replacement

StopTimeout

자체적으로 정상적으로 종료하지 않을 경우 컨테이너를 강제 종료하기까지 대기할 시간입니다. Fargate 시작 유형을 사용하는 작업의 경우 최대 stopTimeout 값이 2분입니다. 이 파라미터는 오하이오(us-east-2) 리전에서 Fargate 시작 유형을 사용하는 작업에만 사용할 수 있으며 작업 또는 서비스에는 플랫폼 버전 1.3.0 이상이 필요합니다.

EC2 실행 유형을 사용하는 작업의 경우 컨테이너 중지 제한 시간 값은 ECS_CONTAINER_STOP_TIMEOUT 컨테이너 에이전트 구성 파라미터(사용되는 경우)보다 우선합니다. 컨테이너 중지 제한 시간 값을 활성화하려면 컨테이너 인스턴스에 버전 1.26.0 이상의 컨테이너 에이전트가 필요합니다. 그러나 최신 버전의 컨테이너 에이전트를 사용하는 것이 좋습니다. 에이전트 버전을 확인하고 최신 버전으로 업데이트하는 방법에 대한 자세한 내용은 Amazon Elastic Container Service 개발자 안내서Amazon ECS 컨테이너 에이전트 업데이트를 참조하십시오. Amazon ECS 최적화 Linux AMI를 사용하는 경우 해당 인스턴스에는 1.26.0-1 이상 버전의 ecs-init 패키지가 필요합니다. 컨테이너 인스턴스가 버전 20190301 이상에서 시작된 경우 필요한 버전의 컨테이너 에이전트 및 ecs-init가 포함되어 있습니다. 자세한 내용은 Amazon Elastic Container Service 개발자 안내서에서 Amazon ECS 최적화 Linux AMI 단원을 참조하십시오.

Required: 아니요

Type: 정수

Update requires: Replacement

Ulimits

컨테이너에 설정할 ulimits의 목록입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Ulimitsdocker run에 대한 --ulimit 옵션에 매핑됩니다. 유효한 이름 지정 값이 Ulimit 데이터 형식에 표시됩니다. 이 파라미터를 사용하려면 컨테이너 인스턴스에서 도커 원격 API 버전 1.18 이상을 사용해야 합니다. 컨테이너 인스턴스의 도커 원격 API 버전을 확인하려면, 컨테이너 인스턴스에 로그인한 후 sudo docker version --format '{{.Server.APIVersion}}' 명령을 실행합니다.

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: Ulimit 목록

Update requires: Replacement

User

컨테이너 내부에서 사용할 사용자 이름입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 Userdocker run에 대한 --user 옵션에 매핑됩니다.

다음 형식을 사용할 수 있습니다. UID 또는 GID를 지정하는 경우 이를 양의 정수로 지정해야 합니다.

  • user

  • user:group

  • uid

  • uid:gid

  • user:gid

  • uid:group

참고

이 파라미터는 Windows 컨테이너에서 지원되지 않습니다.

Required: 아니요

Type: 문자열

Update requires: Replacement

VolumesFrom

다른 컨테이너로부터 탑재할 데이터 볼륨입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 VolumesFromdocker run에 대한 --volumes-from 옵션에 매핑됩니다.

Required: 아니요

Type: VolumeFrom 목록

Update requires: Replacement

WorkingDirectory

컨테이너에서 명령을 실행할 작업 디렉터리입니다. 이 파라미터는 도커 원격 API컨테이너 생성 섹션에 있는 WorkingDirdocker run에 대한 --workdir 옵션에 매핑됩니다.

Required: 아니요

Type: 문자열

Update requires: Replacement

이 페이지에서: