Amazon ECS 태스크 정의에서 Docker 볼륨 지정
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
- Type: String
- Required: No
- 볼륨의 이름입니다. 대문자와 소문자를 포함한 최대 255자의 문자, 숫자, 하이픈(
-), 밑줄(_)이 허용됩니다. 이 이름은 컨테이너 정의mountPoints객체의sourceVolume파라미터에서 참조됩니다.
dockerVolumeConfiguration
- Type: DockerVolumeConfiguration Object
- Required: No
- 이 파라미터는 Docker 볼륨을 사용할 때 지정됩니다. Docker 볼륨은 EC2 인스턴스에서 태스크를 실행할 때만 지원됩니다. Windows 컨테이너는 local 드라이버만 지원합니다. 바인드 마운트를 사용하려면 대신
host를 지정하세요.
scope
- Type: String
- Valid Values:
task|shared - Required: No
- Docker 볼륨의 범위로, 수명 주기를 결정합니다. task로 범위가 지정된 Docker 볼륨은 태스크가 시작될 때 자동으로 프로비저닝되고 태스크가 중지될 때 파괴됩니다. shared로 범위가 지정된 Docker 볼륨은 태스크가 중지된 후에도 지속됩니다.
autoprovision
- Type: Boolean
- Default value:
false - Required: No
- 이 값이
true이면 Docker 볼륨이 아직 존재하지 않을 때 생성됩니다. 이 필드는scope가shared인 경우에만 사용됩니다.scope가task라면 이 파라미터를 생략해야 합니다.
driver
- Type: String
- Required: No
- 사용할 Docker 볼륨 드라이버입니다. 이 이름은 태스크 배치에 사용되므로 driver 값은 Docker가 제공하는 드라이버 이름과 일치해야 합니다. Docker 플러그인 CLI로 드라이버를 설치했다면
docker plugin ls를 사용해 컨테이너 인스턴스에서 드라이버 이름을 검색하세요. 다른 방법으로 설치했다면 Docker 플러그인 검색(plugin discovery)을 사용해 드라이버 이름을 검색하세요.
driverOpts
- Type: String
- Required: No
- 전달할 Docker 드라이버별 옵션의 맵입니다. 이 파라미터는 Docker의 볼륨 생성 섹션의
DriverOpts에 해당합니다.
labels
- Type: String
- Required: No
- Docker 볼륨에 추가할 사용자 지정 메타데이터입니다.
mountPoints
- Type: Object array
- Required: No
- 컨테이너의 데이터 볼륨에 대한 마운트 포인트입니다. 이 파라미터는 Docker API의
create-container의Volumes와docker run의--volume옵션에 해당합니다. Windows 컨테이너는$env:ProgramData와 같은 드라이브의 전체 디렉터리를 마운트할 수 있어요. Windows 컨테이너는 다른 드라이브의 디렉터리를 마운트할 수 없으며, 마운트 포인트를 드라이브 간에 사용할 수 없습니다. Amazon EBS 볼륨을 Amazon ECS 태스크에 직접 연결하려면 마운트 포인트를 지정해야 합니다.
sourceVolume
- Type: String
- Required: Yes, when
mountPointsare used - 마운트할 볼륨의 이름입니다.
containerPath
- Type: String
- Required: Yes, when
mountPointsare used - 볼륨이 마운트될 컨테이너의 경로입니다.
readOnly
- Type: Boolean
- Required: No
- 이 값이
true이면 컨테이너는 볼륨에 읽기 전용으로 접근합니다. 이 값이false이면 컨테이너는 볼륨에 쓸 수 있습니다. 기본값은false입니다. Windows 운영 체제를 실행하는 EC2 인스턴스에서 실행되는 태스크의 경우 기본값인false로 남겨 두세요.
더 알아보기 (Learn more)
- 데이터 볼륨과 바인드 마운트에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.