Разная лошадка для разных курсов, Fargate предназначена для обнуления управления инфраструктурой, что означает просто указать образ Docker и затем оставить все на AWS.
Тома хоста связывания монтируются при использовании любого изТипы запуска EC2 или Fargate. Задачи Fargate поддерживают только непостоянные тома хранения, поэтому поля host и sourcePath не поддерживаются .
Обходной путь - монтирование томов.
Хранилище задач Fargate
При подготовке каждая задача Fargate получает следующее хранилище. Хранение задач эфемерно. После остановки задачи Fargate хранилище удаляется.
10 GB
хранилища слоя Docker
Дополнительное 4 GB for volume mounts
. Это может быть смонтировано и совместно использовано между контейнерами с использованием томов , mountPoints и volumeFrom с параметрами в определении задачи.
Чтобы обеспечить непостоянное пустое хранилище для контейнеров в задаче Fargate
В этом примере у вас может быть два контейнера базы данных, которым требуется доступ к одному и тому же месту хранения чистых файлов во время задачи.
В разделе томов определения задачи определите том с именем database_scratch.
"volumes": [
{
"name": "database_scratch",
"host": {}
}
]
В разделе containerDefinitions создайте определения контейнера базы данных, чтобы они монтировали нестабильное хранилище.
"containerDefinitions": [
{
"name": "database1",
"image": "my-repo/database",
"cpu": 100,
"memory": 100,
"essential": true,
"mountPoints": [
{
"sourceVolume": "database_scratch",
"containerPath": "/var/scratch"
}
]
},
{
"name": "database2",
"image": "my-repo/database",
"cpu": 100,
"memory": 100,
"essential": true,
"mountPoints": [
{
"sourceVolume": "database_scratch",
"containerPath": "/var/scratch"
}
]
}
]
Если вы ищете способ связывания тома хоста тогда вы ожидаете неверного от fargate, так как в случае fargate нет хоста.
Вам необходим тип Ec2 Задача ECS.
Для обеспечения постоянного хранилищадля контейнеров, использующих монтирование связывания
При использовании монтирования связывания, если указано значение sourcePath,Данные сохраняются даже после остановки всех контейнеров, на которые они ссылаются. Все файлы, которые существуют в sourcePath, представляются контейнерам в значении containerPath, а любые файлы, записываемые в значение containerPath, записываются в значение sourcePath в экземпляре контейнера.
В задачеВ разделе томов определения определите монтирование связывания со значениями name и sourcePath.
"volumes": [
{
"name": "webdata",
"host": {
"sourcePath": "/ecs/webdata"
}
}
]
В разделе containerDefinitions определите контейнер со значениями mountPoints, которые ссылаются на имя определенного монтирования связывания и значение containerPath для монтированияbind mount at на контейнере.
"containerDefinitions": [
{
"name": "web",
"image": "nginx",
"cpu": 99,
"memory": 100,
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
],
"essential": true,
"mountPoints": [
{
"sourceVolume": "webdata",
"containerPath": "/usr/share/nginx/html"
}
]
}
]
bind-mounts
снова
Параметры host и sourcePath не поддерживаются дляЗадачи Fargate.