Docker Nginx Log 三者的處理詳解
因?yàn)楣镜耐滦枰狽ginx日志標(biāo)準(zhǔn)輸出,也就是通過(guò)控制臺(tái)處理,那么我們需要先將日志寫(xiě)到文件內(nèi):
error_log /var/log/nginx/error.log
access_log /var/log/nginx/access.log
處理方式無(wú)非有兩種:
1.創(chuàng)建宿主機(jī)路徑,然后將其掛載到容器內(nèi)的nginx日志路徑:
docker run --name docker_nginx -d -p 80:80 -v /var/log/nginx/log:/var/log/nginx--!-v:掛載日志目錄
2.第二種就是落地到日志文件,然后導(dǎo)向標(biāo)準(zhǔn)輸出:
RUN ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log
聽(tīng)說(shuō)第二種比較好!!!
這樣日志問(wèn)題就解決了!
補(bǔ)充知識(shí):自定義docker nginx鏡像無(wú)容器日志輸出
剛好自己因?yàn)楣ぷ鳝h(huán)境需要自己定制一個(gè)nginx鏡像,生成之后,發(fā)現(xiàn)容器沒(méi)有相關(guān)nginx日志輸出
FROM env_centos:latest COPY nginx.repo /etc/yum.repos.d/ # 注意,日志要重定向輸出到stdout,否則無(wú)法看到容器日志輸出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行是關(guān)鍵,當(dāng)然,這個(gè)要跟你的nginx配置文件匹配,不要照搬 ln -sf /dev/stderr /var/log/nginx/error.log > 這2行是關(guān)鍵 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/stdoutlrwxrwxrwx 1 root root 11 Dec 29 10:51 error.log -> /dev/stderr
以上這篇Docker Nginx Log 三者的處理詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP中常用的22個(gè)FSO文件操作函數(shù)整理2. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)3. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp4. .Net core 的熱插拔機(jī)制的深入探索及卸載問(wèn)題求救指南5. SharePoint Server 2019新特性介紹6. html清除浮動(dòng)的6種方法示例7. asp的SQL語(yǔ)句中and和or同時(shí)使用的注意事項(xiàng)8. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題9. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析10. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程
