首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除ECS容器中从码头登录到cloudwatch的问题?

如何排除ECS容器中从码头登录到cloudwatch的问题?
EN

Stack Overflow用户
提问于 2018-12-02 21:07:12
回答 1查看 743关注 0票数 2

我被这事弄得头破血流。这是我的装置:

  • 控件的EC2实例上的ECS容器
  • ECS任务定义,运行
  • 带有记录到stderr的python脚本的Docker实例

我看到一个创建ECS任务的Cloudwatch日志组,但是我打印到stderr的任何东西都没有出现。

我的ECS容器具有默认的ecsInstanceRole。ecsInstanceRole有AmazonEC2ContainerServiceforEC2Role策略,如下所示:

代码语言:javascript
复制
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecs:CreateCluster",
                "ecs:DeregisterContainerInstance",
                "ecs:DiscoverPollEndpoint",
                "ecs:Poll",
                "ecs:RegisterContainerInstance",
                "ecs:StartTelemetrySession",
                "ecs:UpdateContainerInstancesState",
                "ecs:Submit*",
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
                ],
                "Resource": "*"
            }
        ]
    }

任务定义

代码语言:javascript
复制
{
    "containerDefinitions": [
        {
            "dnsSearchDomains": [],
            "logConfiguration": {
                "logDriver": "awslogs",
                "options": {
                    "awslogs-group": "torres",
                    "awslogs-region": "us-west-2",
                    "awslogs-stream-prefix": "torres"
                }
            },
            "command": [
                "sleep",
                "infinity"
            ],
            "cpu": 100,
            "mountPoints": [
                {
                    "readOnly": null,
                    "containerPath": "/mnt/efs",
                    "sourceVolume": "efs"
                }
            ],
            "memoryReservation": 512,
            "image": "X.dkr.ecr.us-west-2.amazonaws.com/torres-docker:latest",
            "interactive": true,
            "essential": true,
            "pseudoTerminal": true,
            "readonlyRootFilesystem": false,
            "privileged": false,
            "name": "torres"
        }
    ],
    "family": "torres",
    "volumes": [
        {
            "name": "efs",
            "host": {
                "sourcePath": "/mnt/efs"
            }
        }
    ]
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-03 13:29:45

我想出了问题,但我不知道为什么要解决这个问题。当我将命令从sleep infinity改为只运行一段记录python script.py的代码时,CloudWatch中的日志记录就开始工作了。

在我用sleep infinity启动容器之前,使用ssh-ing进入容器并从shell启动script.py,这不是日志记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53584629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档