docker 容器 syslog日志配置 对日志进行拆分目录和文件


syslog配置(centos系统,一般系统都有默认安装):

vi /etc/rsyslog.conf

去掉前面注释

日志配置:

vi /etc/rsyslog.d/docker.conf

(一般默认配置会加载/etc/rsyslog.d/目录下所有.conf配置文件,在/etc/rsyslog.d/docker.conf下可以找到路径)

# 定义日志模版
$template web,"/var/log/docker/%programname%/%timereported:0:10:date-rfc3339%.log"

# ${name}为设docker启动时设置的tag名称
if $programname == "${name}" then
?web
# 终止其它文件输出日志
& ~
stop

 

容器启动:

docker run -i -d \
--name ${name} \
-v ${worker_dir}:/tmp \
-w /tmp \
-p 8080:8080 \
--log-driver syslog \
--log-opt syslog-address=tcp://127.0.0.1:514 \
--log-opt tag="{{.Name}}" \
openjdk:8-jdk-alpine \
java -jar -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=test ${jar_name} -Dexec.args="${name}"

注: tag="{{.Name}}"     {{.Name}} 引用当前容器name, ${name} 可自定义容器名称 参考: https://docs.docker.com/config/containers/logging/log_tags/

启动后 就能在/var/log/docker/ 目录下找到对应日志文件

 

docker其它日志驱动参考:https://docs.docker.com/config/containers/logging/configure/

 

					


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM