我想在ECS任务定义中添加多个卷定义,如下所示:
[
{
"name": "agent",
"image": "${agent_image}",
"essential": true,
"environment": [
{
"name": "apple",
"value": "mango"
},
{
"name": "AGENT_NAME",
"value": "AGENT3"
}
],
"volume": {
"name" : "/data/agent2/conf",
"host_path" : "/data/agent2/conf"
}
"volume": {
"name" : "/data/agent3/conf",
"host_path" : "/data/agent3/conf"
}
}
]这显然不起作用,因为json不能有两个同名的键volume。这是怎么弄到的?请帮帮忙。
发布于 2022-01-06 19:23:32
我不知道你到底想达到什么目的,但让我试着帮你提几个想法:
下面将将/data/agent3/conf映射到容器内的/data/agent/conf:
{
"containerDefinitions": [
{
"mountPoints": [
{
"containerPath": "/data/agent/conf",
"sourceVolume": "vol1"
}
]
}
],
"volumes": [
{
"name": "vol1",
"host": {
"sourcePath": "/data/agent3/conf"
}
}
]
}如果您想使用两个卷:
{
"containerDefinitions": [
{
"mountPoints": [
{
"containerPath": "/data/agent/conf",
"sourceVolume": "vol1"
},
{
"containerPath": "/alternate/path/to/conf",
"sourceVolume": "vol2"
}
]
}
],
"volumes": [
{
"name": "vol1",
"host": {
"sourcePath": "/data/agent3/conf"
}
},
{
"name": "vol2",
"host": {
"sourcePath": "/data/agent3/conf"
}
}
]
}据我所知,不可能将两个卷装入容器中的同一个挂载点。:)
但是,如果您试图在多个主机之间在容器/任务之间共享数据,Amazon将是一个更好的选择。
您可以在下面找到更多的细节:
https://stackoverflow.com/questions/70612179
复制相似问题