从Docker容器获取控制台输出

p.m*_*aes 4 amazon-ec2 amazon-ecs docker

我使用python instaled和python应用程序构建一个图像.我的python应用程序是一个hello world,只需在屏幕上打印"Hello World".Dockerfile:

FROM python:2-onbuild
CMD ["python", "./helloworld.py"]
Run Code Online (Sandbox Code Playgroud)

在控制台中我执行:

docker run xxx/zzz
Run Code Online (Sandbox Code Playgroud)

我可以看到Hello World输出.现在我尝试使用ECS的任务执行相同的应用程序.我已经把它拉到了Docker Hub.如何查看输出问候世界?无论如何你看到我的容器运行正常吗?

dne*_*hin 8

docker logs <container id>将显示conatiner运行的所有输出.如果您在ecs上运行它,您可能需要为DOCKER_HOST=tcp://ip:port运行容器的主机设置.

  • 我的容器已经停止。使用 cmd 行执行 docker run -d image,它会返回容器 ID。然后我可以制作docker日志ID。但是使用 ECS 运行时,我无法获取此日志。我真的无法获得容器 ID。 (2认同)

Ela*_*ode 6

要实时查看 Docker 容器的日志,请使用以下命令:

docker logs -f <CONTAINER>
Run Code Online (Sandbox Code Playgroud)

-f--follow选项将显示正在运行的日志输出。此外,如果容器停止,它将获取其日志。