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/
原文地址:https://www.cnblogs.com/donfy/p/11249054.html
时间: 2024-10-07 20:49:21