• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Docker Nginx Log 三者的处理详解

    因为公司的同事需要Nginx日志标准输出,也就是通过控制台处理,那么我们需要先将日志写到文件内:

    error_log /var/log/nginx/error.log

    access_log /var/log/nginx/access.log

    处理方式无非有两种:

    1.创建宿主机路径,然后将其挂载到容器内的nginx日志路径:

    docker run --name docker_nginx -d -p 80:80\ 
     -v /var/log/nginx/log:/var/log/nginx\
    
    --!-v:挂载日志目录

    2.第二种就是落地到日志文件,然后导向标准输出:

    RUN \
    
    
      ln -sf /dev/stdout /var/log/nginx/access.log && \    
      ln -sf /dev/stderr /var/log/nginx/error.log 
    

    听说第二种比较好!!!

    这样日志问题就解决了!

    补充知识:自定义docker nginx镜像无容器日志输出

    刚好自己因为工作环境需要自己定制一个nginx镜像,生成之后,发现容器没有相关nginx日志输出

    FROM env_centos:latest
     
    COPY nginx.repo /etc/yum.repos.d/ 
    # 注意,日志要重定向输出到stdout,否则无法看到容器日志输出
    RUN \
    
      yum -y install nginx httpd-tools && \
    
      mkdir -p /data/nginx_conf/upstream && \
    
      mkdir -p /data/nginx_conf/vhosts && \
    
      rm -f /etc/nginx/conf.d/default.conf && \
    
      ln -sf /dev/stdout /var/log/nginx/access.log && \    > 这2行是关键,当然,这个要跟你的nginx配置文件匹配,不要照搬
      ln -sf /dev/stderr /var/log/nginx/error.log          > 这2行是关键
     
    COPY nginx.conf /etc/nginx/nginx.conf
     
    EXPOSE 80
    #EXPOSE 443
     
    CMD ["nginx", "-g", "daemon off;"]

    最终的效果如下

    #docker exec test123 ls -l /var/log/nginx/
    lrwxrwxrwx 1 root root 11 Dec 29 10:51 access.log -> /dev/stdout
    lrwxrwxrwx 1 root root 11 Dec 29 10:51 error.log -> /dev/stderr
    

    以上这篇Docker Nginx Log 三者的处理详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    上一篇:Docker部署Rabbitmq容器实现过程解析
    下一篇:分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据的原理解析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    Docker Nginx Log 三者的处理详解 Docker,Nginx,Log,三者,的,处理,