describe-task-definition不返回主机名值

时间:2019-05-04 01:41:08

标签: amazon-web-services aws-cli amazon-ecs

我需要通过CLI查找ECS任务的主机名,根据Amazon文档,该主机名应该可以通过CLI使用:

https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-task-definition.html

但是,当我运行describe-task-definition时,它没有返回信息:

> aws ecs describe-task-definition --task-definition my-test-task:1
{
    "taskDefinition": {
        "status": "ACTIVE",
        "networkMode": "bridge",
        "family": "my-test-task",
        "placementConstraints": [],
        "requiresAttributes": [
            {
                "name": "com.amazonaws.ecs.capability.ecr-auth"
            },
            {
                "name": "com.amazonaws.ecs.capability.docker-remote-api.1.21"
            }
        ],
        "volumes": [
            {
                "host": {
                    "sourcePath": "/opt/cf/rails-app/public/"
                },
                "name": "ruby-on-rails-public-volume"
            }
        ],
        "taskDefinitionArn": "arn:aws:ecs:us-east-1:accountId:task-definition/my-test-task:1",
        "containerDefinitions": [
            {
                "memoryReservation": 1024,
                "environment": [
                    {
                        "name": "DATABASE_HOSTNAME",
                        "value": "hostname"
                    },
                    {
                        "name": "PUMA_WORKERS",
                        "value": "2"
                    },
                    {
                        "name": "RAILS_ENV",
                        "value": "staging"
                    },
                    {
                        "name": "DATABASE_NAME",
                        "value": "ruby-on-rails"
                    },
                    {
                        "name": "DEBIAN_FRONTEND",
                        "value": "noninteractive"
                    },
                    {
                        "name": "PORT",
                        "value": "8080"
                    },
                    {
                        "name": "LANG",
                        "value": "en_US.UTF-8"
                    },
                    {
                        "name": "DATABASE_PASSWORD",
                        "value": "cf"
                    },
                    {
                        "name": "DATABASE_USER",
                        "value": "cf"
                    },
                    {
                        "name": "PUMA_MAX_THREADS",
                        "value": "6"
                    }
                ],
                "name": "my-test-task",
                "mountPoints": [
                    {
                        "sourceVolume": "ruby-on-rails-public-volume",
                        "containerPath": "/opt/cf/rails-app/public/"
                    }
                ],
                "image": "accountId.dkr.ecr.us-east-1.amazonaws.com/cf/rails:latest",
                "cpu": 1024,
                "portMappings": [
                    {
                        "protocol": "tcp",
                        "containerPort": 8080,
                        "hostPort": 8080
                    }
                ],
                "command": [
                    "puma",
                    "-C",
                    "config/puma.rb"
                ],
                "essential": true,
                "volumesFrom": []
            }
        ],
        "revision": 1
    }
}

我不确定要获得该价值需要做什么。我确认我正在运行最新的CLI。

谢谢!

1 个答案:

答案 0 :(得分:0)

首先,hoostname未定义为任务定义。它对任务定义内的容器定义进行了定义。其次,没有默认主机名,在创建任务定义修订时,您必须在容器定义中显式定义主机名。默认情况下,它使用容器ID作为主机名。