【问题标题】:AWS ECS docker Invalid 'volumesFrom' setting. Unknown containerAWS ECS docker 'volumesFrom' 设置无效。未知容器
【发布时间】:2017-01-20 21:03:43
【问题描述】:

我正在尝试在 AWS ECS 集群上运行具有以下定义的服务。但我收到一个错误。 “volumesFrom”设置无效。未知容器:'docker-data'。我已经单独启动了 docker-data 服务,但我的其他服务仍然无法找到我的数据容器。以下是任务定义。

{
    "containerDefinitions": [{
        "name": "docker-data",
        "image": "jaigouk/data-only-container",
        "memory": 128
    }],
    "family": "docker-data"
}

{
    "containerDefinitions": [{
        "image": "my/work-image",
        "name": "image2",
        "memory": 512,
        "portMappings": [{
            "hostPort": 8040,
            "containerPort": 8040,
            "protocol": "tcp"
        }],
        "volumesFrom": [{
            "sourceContainer": "docker-data"
        }]
    }],
    "family": "console"
}

【问题讨论】:

    标签: amazon-web-services amazon-ecs


    【解决方案1】:

    看起来您在两个任务定义中定义了 2 个容器。在这种情况下,docker-data 是未知的。

    这是我的工作示例之一

    {  
    "taskDefinitionArn":"arn:aws:ecs:ap-southeast-1:xxxx:task-definition/vc-p-tim:15",
    "networkMode":"bridge",
    "status":"ACTIVE",
    "revision":15,
    "taskRoleArn":null,
    "containerDefinitions":[  
        {  
            "volumesFrom":[  
    
            ],
            "memory":2048,
            "extraHosts":null,
            "dnsServers":null,
            "disableNetworking":null,
            "dnsSearchDomains":null,
            "hostname":null,
            "essential":true,
            "entryPoint":null,
            "mountPoints":[  
                {  
                    "containerPath":"/apps",
                    "sourceVolume":"tinymce-data",
                    "readOnly":null
                }
            ],
            "name":"tim-srv",
            "ulimits":null,
            "dockerSecurityOptions":null,
            "environment":[  
    
            ],
            "links":null,
            "workingDirectory":null,
            "readonlyRootFilesystem":null,
            "image":"xxxxxx.dkr.ecr.ap-southeast-1.amazonaws.com/tinymce-server:latest",
            "command":null,
            "user":null,
            "dockerLabels":null,
            "logConfiguration":null,
            "cpu":0,
            "privileged":null,
            "memoryReservation":null
        },
        {  
            "volumesFrom":[  
                {  
                    "readOnly":null,
                    "sourceContainer":"tim-srv"
                }
            ],
            "memory":256,
            "extraHosts":null,
            "dnsServers":null,
            "disableNetworking":null,
            "dnsSearchDomains":null,
            "hostname":null,
            "essential":true,
            "entryPoint":null,
            "mountPoints":[  
    
            ],
            "name":"tim-api",
            "ulimits":null,
            "dockerSecurityOptions":null,
            "links":null,
            "workingDirectory":null,
            "readonlyRootFilesystem":null,
            "image":"xxxxxx.dkr.ecr.ap-southeast-1.amazonaws.com/tinymce-api:0118171510",
            "command":null,
            "user":null,
            "dockerLabels":null,
            "logConfiguration":null,
            "cpu":0,
            "privileged":null,
            "memoryReservation":null
        }
    ],
    "volumes":[  
        {  
            "host":{  
                "sourcePath":"tinymce-data"
            },
            "name":"tinymce-data"
        }
    ],
    "family":"vc-p-tim"
    

    }

    【讨论】:

    • 我在两个单独的任务定义中定义容器。所以 ecs 无法找到数据容器。我阅读了完整的 aws ecs 文档,看来这样做是不可能的。它只能通过组合单个系列下的所有任务定义来工作。你的例子是正确的。
    猜你喜欢
    • 2020-11-10
    • 1970-01-01
    • 2020-11-15
    • 2021-09-23
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    相关资源
    最近更新 更多