kasmweb/nginx本镜像基于官方nginx:alpine构建,保留Nginx核心功能的同时集成logrotate工具,专为需要自动日志管理的Nginx部署场景设计。依托Alpine Linux基础,镜像体积轻量(约20MB),适合资源受限环境;通过logrotate实现日志自动轮转、压缩与清理,有效解决Nginx日志持续增长导致的磁盘空间占用问题。
nginx:alpine的所有Nginx功能,包括HTTP/HTTPS服务、反向代理、负载均衡、静态资源托管等logrotate工具,支持Nginx访问日志(access.log)和错误日志(error.log)自动轮转logrotate配置,满足不同场景下的日志管理需求通过docker run快速启动容器:
bashdocker run -d \ --name nginx-logrotate \ -p 80:80 \ -v /path/to/nginx/conf.d:/etc/nginx/conf.d \ # 挂载自定义Nginx配置(可选) -v /path/to/logs:/var/log/nginx \ # 挂载日志目录(持久化日志,可选) [镜像名称]:[标签]
如需修改Nginx服务配置(如反向代理规则、虚拟主机等),可通过挂载/etc/nginx/conf.d目录实现:
bash# 宿主机准备配置文件:/path/to/nginx/conf.d/default.conf docker run -d \ --name nginx-logrotate \ -p 80:80 \ -v /path/to/nginx/conf.d:/etc/nginx/conf.d \ [镜像名称]:[标签]
默认logrotate配置路径为/etc/logrotate.d/nginx,可通过挂载该文件自定义日志轮转规则:
bash# 宿主机准备自定义logrotate配置:/path/to/logrotate/nginx.conf docker run -d \ --name nginx-logrotate \ -p 80:80 \ -v /path/to/logrotate/nginx.conf:/etc/logrotate.d/nginx \ # 覆盖默认logrotate配置 [镜像名称]:[标签]
默认/etc/logrotate.d/nginx配置示例:
/var/log/nginx/*.log { daily # 每日轮转 missingok # 日志文件不存在时不报错 rotate 7 # 保留7份历史日志 compress # 压缩历史日志(gzip) delaycompress # 延迟压缩(保留当前轮转日志未压缩,下次轮转时压缩) notifempty # 日志为空时不轮转 create 0640 nginx nginx # 新建日志文件权限与属主 }
同官方nginx:alpine,支持通过以下路径自定义配置:
/etc/nginx/nginx.conf(建议通过挂载覆盖)/etc/nginx/conf.d/*.conf(推荐挂载该目录添加自定义配置)可通过修改/etc/logrotate.d/nginx调整日志轮转策略,关键参数说明:
daily/weekly/monthly:轮转周期(每日/每周/每月)rotate N:保留N份历史日志size M:当日志达到M大小时触发轮转(如size 100M)compress:启用压缩(默认gzip)nocompress:禁用压缩missingok:忽略日志文件不存在的错误/var/log/nginx),需确保宿主机目录权限允许容器内nginx用户(UID/GID通常为101)读写logrotate配置时,需保证语法正确,可通过logrotate -d /etc/logrotate.d/nginx测试配置有效性nginx:alpine,Alpine Linux使用apk包管理器,如需额外依赖可通过docker exec进入容器安装
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务