启用Docker调试输出 - Amazon Elastic Container Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

启用Docker调试输出

如果您在使用Docker容器或图像时遇到问题,可以启用调试模式 位于您的Dockerdaemon上。启用调试可提供更多来自守护程序的动态输出 并且您可以使用这些信息来详细了解为什么 出现问题。

启用Docker调试模式在检索错误信息时特别有用, 从集装箱登记处发送,例如 Amazon ECR并且在许多情况下,使 是查看这些错误信息的唯一方法。

重要

编写本程序的目的在于 Amazon ECS-optimized Amazon Linux AMI. 对于其他操作系统,请参阅 启用 调试控制并配置Docker 系统d

要在上启用Docker守护程序调试模式 Amazon ECS-optimized Amazon Linux AMI

  1. 连接至容器实例。更多信息,请参阅 连接至容器实例.

  2. 使用文本编辑打开Docker选项文件,例如 vi。对于 Amazon ECS-optimized Amazon Linux AMI,Docker选项文件位于 /etc/sysconfig/docker.

  3. 找到Docker选项声明并添加 -D 选项 引号内。

    注意

    如果“Docker选项”语句以 #,删除 字符以取消注释并启用选项。

    对于 Amazon ECS-optimized Amazon Linux AMI,Docker选项声明称为 OPTIONS. 例如:

    # Additional startup options for the Docker daemon, for example: # OPTIONS="--ip-forward=true --iptables=true" # By default we limit the number of open files per container OPTIONS="-D --default-ulimit nofile=1024:4096"
  4. 保存文件并退出文本编辑。

  5. 重新启动Docker守护程序。

    sudo service docker restart

    输出:

    Stopping docker: [ OK ] Starting docker: . [ OK ]
  6. 重新启动 Amazon ECS 代理。

    sudo service ecs restart

现在,您的Docker日志应显示更多详细输出。例如:

time="2015-12-30T21:48:21.907640838Z" level=debug msg="Unexpected response from server: \"{\\\"errors\\\":[{\\\"code\\\":\\\"DENIED\\\",\\\"message\\\":\\\"User: arn:aws:sts::1111:assumed-role/ecrReadOnly/i-abcdefg is not authorized to perform: ecr:InitiateLayerUpload on resource: arn:aws:ecr:us-east-1:1111:repository/nginx_test\\\"}]}\\n\" http.Header{\"Connection\":[]string{\"keep-alive\"}, \"Content-Type\":[]string{\"application/json; charset=utf-8\"}, \"Date\":[]string{\"Wed, 30 Dec 2015 21:48:21 GMT\"}, \"Docker-Distribution-Api-Version\":[]string{\"registry/2.0\"}, \"Content-Length\":[]string{\"235\"}}"