19

我构建了一个安装了 Python 的图像和一个 Python 应用程序。我的 Python 应用程序是Hello, World!应用程序,只需打印“Hello, World!” 屏幕上。Dockerfile:

FROM python:2-onbuild
CMD ["python", "./helloworld.py"]

在控制台中我执行:

docker run xxx/zzz

我可以看到你好,世界!输出。现在我正在尝试使用 ECS 中的任务执行相同的应用程序。我已经把它拉到了 Docker Hub。

我怎样才能看到输出Hello, World! ? 有没有办法查看我的容器是否正常运行?

4

5 回答 5

31

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

于 2015-10-12T20:59:51.113 回答
12

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

docker logs -f <CONTAINER>

-for选项将--follow显示实时日志输出。此外,如果容器停止,它将获取其日志。

于 2019-07-30T15:32:04.567 回答
2

也许除了跟踪日志之外,最好使用以下方法进入容器:

docker exec -it CONTAINER_ID /bin/sh

并从内部调查您的流程。

于 2020-05-14T09:22:44.680 回答
0

例如,您可以登录到您的容器实例并执行操作docker ps

本指南介绍了如何连接到您的容器实例:

http://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html#instance-connect

于 2015-10-12T16:01:18.130 回答
0

您可以使用基本输出重定向到文件。

无论您在命令结尾处在 Dockerfile 中运行什么命令 put >> /root/file.txt

所以... 运行 ifconfig >> /root/file.txt 运行 curl google.com >> /root/file.txt

然后你要做的就是登录到容器并输入“cat /root/file.txt”以查看屏幕上的确切内容。是否可以在 Dockerfile 末尾从容器复制到主机?idk,但也许。

于 2022-02-18T18:02:13.053 回答