如何在AWS的Docker容器中查找正在运行的进程的状态?

时间:2019-02-07 06:28:03

标签: c++ amazon-web-services docker amazon-ecs

我有一个应用程序(任务)在AWS的容器中运行。我需要知道它的当前状态,还需要确保它在不退出容器的情况下运行并杀死它。
这是C ++二进制文件。

  1. 服务-创建服务将确保其故障安全,但是我该如何从外部读取此信息。我可以使用适当的退出代码退出应用程序,但是服务将以这种方式一次又一次地重新创建任务,这是一个负担。

是否存在建议的方法来与ECS容器中的进程进行通信以了解其当前正在做什么?

1 个答案:

答案 0 :(得分:0)

可以通过两种方式查看ECS容器日志:

  1. SSH进入由ECS创建的EC2实例,运行docker ps查找容器ID,然后运行docker logs container_id查看容器中正在发生的事情。 (如果您是使用Fargate创建集群的,那么这将不起作用,因为它不会创建EC2实例,它只会创建网络接口)

  2. 在AWS上配置Cloudwatch以查看容器活动。要配置日志,您必须创建新版本的任务定义>打开容器>在存储和日志记录下,取消选中自动配置CloudWatch日志>选择日志驱动程序为awslogs>标记组,区域和前缀键。 要查看日志,请在集群中的“任务”选项卡上单击>打开任务>展开容器>底部显示“日志配置”,并带有指向容器日志的链接。