Docker Apache映像,是否将日志存储在主机中?

时间:2019-04-04 04:58:48

标签: apache docker docker-volume

我使用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,这样我就不需要将其存储在主机中会更好。

谢谢!

2 个答案:

答案 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>