Amazon ECS 작업 정의에서 Docker 볼륨 지정
컨테이너가 데이터 볼륨을 사용할 수 있으려면 태스크 정의에서 볼륨 및 탑재 지점 구성을 지정해야 합니다. 이번 섹션에서는 컨테이너의 볼륨 구성에 대해 설명합니다. Docker 볼륨을 사용하는 태스크의 경우 dockerVolumeConfiguration
을 지정합니다. 바인드 탑재 호스트 볼륨을 사용하는 태스크의 경우, host
와 sourcePath
(옵션)를 지정합니다.
다음 태스크 정의 JSON은 컨테이너에 사용할 volumes
및 mountPoints
객체의 구문을 나타냅니다.
{ "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
인 경우 도커 볼륨이 아직 없으면 도커 볼륨이 생성됩니다. 이 필드는scope
가shared
인 경우에만 사용됩니다.scope
가task
인 경우 이 파라미터를 생략해야 합니다. 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
로 둡니다.