Amazon ECS 작업 정의에서 Docker 볼륨 지정 - Amazon Elastic Container Service

Amazon ECS 작업 정의에서 Docker 볼륨 지정

컨테이너가 데이터 볼륨을 사용할 수 있으려면 태스크 정의에서 볼륨 및 탑재 지점 구성을 지정해야 합니다. 이번 섹션에서는 컨테이너의 볼륨 구성에 대해 설명합니다. Docker 볼륨을 사용하는 태스크의 경우 dockerVolumeConfiguration을 지정합니다. 바인드 탑재 호스트 볼륨을 사용하는 태스크의 경우, hostsourcePath(옵션)를 지정합니다.

다음 태스크 정의 JSON은 컨테이너에 사용할 volumesmountPoints 객체의 구문을 나타냅니다.

{ "containerDefinitions": [ { "mountPoints": [ { "sourceVolume": "string", "containerPath": "/path/to/mount_volume", "readOnly": boolean } ] } ], "volumes": [ { "name": "string", "dockerVolumeConfiguration": { "scope": "string", "autoprovision": boolean, "driver": "string", "driverOpts": { "key": "value" }, "labels": { "key": "value" } } } ] }
name

유형: 문자열

필수 여부: 아니요

볼륨의 이름입니다. 최대 255자의 문자(대문자 및 소문자), 숫자, 하이(-) 및 밑줄(_)이 허용됩니다. 이 이름은 컨테이너 정의 mountPoints 객체의 sourceVolume 파라미터에서 참조됩니다.

dockerVolumeConfiguration

유형: DockerVolumeConfiguration 객체

필수 여부: 아니요

이 파라미터는 Docker 볼륨을 사용할 때 지정됩니다. Docker 볼륨은 EC2 인스턴스에서 작업을 실행하는 경우에만 지원됩니다. Windows 컨테이너는 local 드라이버의 사용만 지원합니다. 바인드 탑재를 사용하려면 대신에 host를 지정하세요.

scope

유형: 문자열

유효한 값: task | shared

필수 여부: 아니요

수명 주기를 결정하는 Docker 볼륨의 범위입니다. 범위가 task로 지정된 Docker 볼륨은 태스크가 시작될 때 자동으로 프로비저닝되고, 태스크가 중단되면 삭제됩니다. 범위가 shared로 지정된 Docker 볼륨은 태스크 중단 후에도 유지됩니다.

autoprovision

유형: 부울

기본 값: false

필수 여부: 아니요

이 값이 true인 경우 도커 볼륨이 아직 없으면 도커 볼륨이 생성됩니다. 이 필드는 scopeshared인 경우에만 사용됩니다. scopetask인 경우 이 파라미터를 생략해야 합니다.

driver

유형: 문자열

필수 여부: 아니요

사용할 Docker 볼륨 드라이버입니다. Docker에서 제공하는 드라이버 이름이 작업 배치에 사용되므로 드라이버 값과 이 이름이 일치해야 합니다. Docker 플러그인 CLI를 사용하여 드라이버를 설치했다면 docker plugin ls를 사용하여 컨테이너 인스턴스에서 드라이버 이름을 검색합니다. 다른 방법을 사용하여 드라이버를 설치했다면 Docker 플러그인 검색을 사용하여 드라이버 이름을 검색합니다.

driverOpts

유형: 문자열

필수 여부: 아니요

전달할 Docker 드라이버에 특정한 옵션 맵입니다. 이 파라미터는 Docker의 볼륨 생성의 DriverOpts에 매핑됩니다.

labels

유형: 문자열

필수 여부: 아니요

Docker 볼륨에 추가할 사용자 지정 메타데이터입니다.

mountPoints

유형: 객체 배열

필수 여부: 아니요

컨테이너에서 데이터 볼륨의 탑재 지점입니다. 이 파라미터는 create-container Docker API의 Volumes 및 docker run에 대한 --volume 옵션에 매핑됩니다.

Windows 컨테이너는 전체 디렉터리를 동일한 드라이브에 $env:ProgramData로 마운트할 수 있습니다. Windows 컨테이너는 디렉터리를 다른 드라이브에 탑재할 수 없으며, 탑재 지점은 여러 드라이브에 걸쳐 사용할 수 없습니다. Amazon EBS 볼륨을 Amazon ECS 작업에 직접 연결하려면 탑재 지점을 지정해야 합니다.

sourceVolume

유형: 문자열

필수 항목 여부: 예(mountPoints 사용 시)

탑재할 볼륨의 이름입니다.

containerPath

유형: 문자열

필수 항목 여부: 예(mountPoints 사용 시)

볼륨을 탑재할 컨테이너의 경로입니다.

readOnly

유형: 부울

필수 여부: 아니요

이 값이 true일 경우 컨테이너에는 볼륨에 대한 읽기 전용 액세스가 부여됩니다. 이 값이 false일 경우 컨테이너는 볼륨에 쓸 수 있습니다. 기본값은 false입니다.

Windows 운영 체제를 실행하는 EC2 인스턴스에서 실행되는 태스크의 경우 값을 기본값인 false로 둡니다.