Search code examples
apachedockerdocker-volume

Docker apache image, store logs in host?


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!


Solution

  • 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.