因为公司的同事需要Nginx日志标准输出,也就是通过控制台处理,那么我们需要先将日志写到文件内:
处理方式无非有两种:
1.创建宿主机路径,然后将其挂载到容器内的nginx日志路径:
?
|
1
2
3 |
docker run --name docker_nginx -d -p 80:80\\
-v /var/log/nginx/log:/var/log/nginx\\
--!-v:挂载日志目录 |
2.第二种就是落地到日志文件,然后导向标准输出:
?
|
1
2
3
4 |
RUN \\
ln -sf /dev/stdout /var/log/nginx/access.log && \\
ln -sf /dev/stderr /var/log/nginx/error.log |
听说第二种比较好!!!
这样日志问题就解决了!
补充知识:自定义docker nginx镜像无容器日志输出
刚好自己因为工作环境需要自己定制一个nginx镜像,生成之后,发现容器没有相关nginx日志输出
?
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
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;"] |
最终的效果如下
?
|
1
2
3 |
#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 三者的处理详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持快网idc。
原文链接:https://blog.csdn.net/qq_33733970/article/details/99723546
相关文章
猜你喜欢
- 服务器是租用还是服务器托管好? 2025-05-27
- 什么是DNS以及它如何影响服务器? 2025-05-27
- 刀片服务器与机架服务器的区别介绍 2025-05-27
- 服务器虚拟化技术深度科普 2025-05-27
- 服务器租用价格怎么计算?服务器租用多少钱一年? 2025-05-27
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-26 88
-
2025-05-25 58
-
2025-05-27 26
-
全球首份《AI系统安全开发准则》发布,提出四方面安全监管要求
2025-05-26 69 -
2025-05-26 91
热门评论

