简体   繁体   中英

Docker- How to use syslog to record logs on host machine?

I wish to keeps the logs of my container to a file in my host machine for every container. I read about doing the same via logging driver .

Since my host machine runs ubuntu 14.04, which has rsyslog running by default, I thought to use syslog .

What I did was used following command to run the container:

docker run -it --log-driver=syslog --log-opt syslog-address=udp://localhost:514 prashant23/ubuntu-java:sample-jdbc-project bash

and I went inside the container without any error. That's all? How do I know that where I can see logs on my host machine? Did I do everything right? I have no idea about syslog . Do I need to configure syslog on my container too? Is there any better approach to achieving the same.

I am not sure what should I use as syslog-address . From where I can get the value of this parameter? I somewhere read default is udp://localhost:514

Using syslog driver, your Docker container will write log data to /var/log/syslog file. You should find your container logs in that file.

syslog-address is only needed if you use an external syslog server, which doesn't seem to be your case.

Using default driver json-file , Docker will create a log file in this path.

/var/lib/docker/containers/[container-id]/[container-id]-json.log

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM