我使用Docker构建一个Apache映像,然后使用docker-compose运行它。我设置了Apache access.log和error.log,并希望将它们存储在容器之外。目前,我使用的是Volumes,但它同时将数据存储在容器和主机中。
docker-compose.yml
version: '2'
services:
web:
image: apache
build: .
container_name: my-image
volumes:
- "/var/log/my-app:/var/log/apache2"
restart: always
ports:
- "8000:80"
我的问题是如何仅将apache日志数据存储在主机中,如果有一种方法可以将apache日志数据流传输到stdout,这样我就不需要将其存储在主机中会更好。
谢谢!
答案 0 :(得分:3)
是卷,但它同时将数据存储在容器和主机中。
并非如此,它应该仅将数据存储在主机中(并使其在容器through a bind mount中可见)
如果有一种方法可以将Apache日志数据流式传输到stdout
可能是的,through configuration,但这不是永久的。
答案 1 :(得分:1)
查看此帖子以了解Apache配置:
https://serverfault.com/questions/711168/writing-apache2-logs-to-stdout-stderr
然后您可以使用
检查日志docker log <container>