Docker apache image, store logs in host?

江枫思渺然 提交于 2019-12-08 00:06:46

问题


I use Docker to build an Apache image, and then use docker-compose to run it. I set up Apache access.log and error.log and want to store them outside of the container. currently, I use Volumes but it stores the data both in container and host.

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"

My question is how to only store apache log data in a host, and It woule be better if there is a way to stream apache log data to stdout so that I don't need to store in the host.

Thanks in advance!


回答1:


Volumes but it stores the data both in container and host.

Not really, it should only store data in the host (and makes it visible in the container through a bind mount)

if there is a way to stream apache log data to stdout

Possible yes, through configuration, but that would not be persistent.




回答2:


Check this post for the Apache configuration:

https://serverfault.com/questions/711168/writing-apache2-logs-to-stdout-stderr

Then you can inspect your logs with

docker log <container>


来源:https://stackoverflow.com/questions/55508155/docker-apache-image-store-logs-in-host

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!