我有一些正在使用docker-compose运行的测试。问题在于,docker日志保存在容器中(这使调试变得复杂)。

我正在寻找一种配置docker-compose的方法,以将所有日志保存在我正在运行测试的机器上,而不是容器上。最好是docker-compose.yml文件的一些配置,但我愿意接受任何建议

最佳答案

不是docker-compose,它可以保存您的日志并需要重新配置。它是docker本身或您的服务,在docker内部运行,具体取决于您指的是什么日志。

如果您正在谈论docker日志,则应引用docker log driver配置页面:
https://docs.docker.com/config/containers/logging/configure/

如果您在谈论由提供的服务生成的日志,只需将可写卷从主机PC装入容器中,然后将软件配置为登录到该文件夹​​。
您可以像以下代码一样实现此目的:

docker-compose.yml:

...
my-service:
  image: xxx
  entrypoint: ["sh", "-c", "echo 'Hello World!' > /path/inside/docker/some_log_file" ]
  volumes:
    - /path/on/host:/path/inside/docker
...

现在服务您应该登录/path/inside/docker/some_log_file

在主机上,您将在/path/on/host中看到所有这些文件

10-06 15:25
查看更多