首页 > 解决方案 > 无法创建容器错误:地址中的冒号过多

问题描述

fluentd我正在尝试在 ECS 上设置日志记录容器。我有一个任务定义(截断),如下所示:

resource "aws_ecs_task_definition" "ecs_tooling_task_definition" {
  family = "${var.environment}-ecs_tooling_task_definition"

  container_definitions = <<DEFINITION
    [
            {
                "name": "tooling",
                "image": "myimage.dkr.ecr.eu-west-1.amazonaws.com/tooling:latest",
                "essential": true,
                "memory": 512,
                "cpu": 10,
                "portMappings": [
                    {
                        "containerPort": 24224,
                        "hostPort": 24224
                    }
                ],
                "logConfiguration": {
                "logDriver": "fluentd",
                "options": {
                    "fluentd-address":"https://fluentd-url:9090"
                }
              }
          }
        ]
DEFINITION
}

尝试启动容器时,它给了我这个错误:

CannotCreateContainerError: API error (400): invalid fluentd-address fluentd-url:9090: 
address fluentd-url:9090: too many colons in address

这是因为它在地址的末尾添加了一个冒号。

我查看了 Docker 文档以及指向我的AWS 任务定义文档fluentd-address,并且没有端口参数。

这是怎么回事?我不想不得不使用控制台进行设置。

标签: amazon-web-servicesdevopsterraform

解决方案


删除https://前面的fluentd-address为我解决了这个问题:

"fluentd-address":"https://fluentd-url:9090"

"fluentd-address":"fluentd-url:9090"

推荐阅读