如何在Dozzle中修改应用基础路径
dozzle Realtime log viewer for docker containers. 项目地址: https://gitcode.com/gh_mirrors/do/dozzle
基础路径修改概述
Dozzle默认情况下会挂载到根路径("/"),但在实际部署场景中,我们经常需要将其部署到特定的子路径下。这种需求在以下场景中尤为常见:
- 当Dozzle需要与其他服务共享同一个域名和端口时
- 在反向代理配置中需要区分不同服务时
- 出于安全考虑需要隐藏服务真实路径时
修改基础路径的方法
Dozzle提供了两种方式来修改基础路径:
1. 通过命令行参数修改
使用--base
参数可以指定新的基础路径。例如,要将Dozzle挂载到"/foobar"路径下:
docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle --base /foobar
2. 通过环境变量修改
使用环境变量DOZZLE_BASE
也能达到相同效果,这在Docker Compose部署时特别方便:
services:
dozzle:
image: amir20/dozzle:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 8080:8080
environment:
DOZZLE_BASE: /foobar
修改后的访问方式
修改基础路径后,Dozzle的访问地址将变为http://localhost:8080/foobar/
。Dozzle会自动处理以下事项:
- 将所有静态资源重写到新路径下(如
/foobar/{file.path}
) - 自动将
/foobar
重定向到/foobar/
(添加尾部斜杠)
反向代理配置示例
在实际生产环境中,我们通常会通过Nginx等反向代理来访问Dozzle。以下是一个配置示例,展示如何将Dozzle代理到特定路径:
location ^~ /foobar/ {
set $upstream_app dozzle;
set $upstream_port 8080;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
这个配置包含了WebSocket支持所需的特殊头部信息,确保Dozzle的实时日志功能能够正常工作。
注意事项
- 路径修改后,所有静态资源引用都会自动适应新路径
- 确保在反向代理配置中正确处理路径重写
- 如果使用HTTPS,确保代理配置中包含正确的SSL证书信息
- 修改路径后,原有的根路径访问将不再有效
通过合理配置基础路径,可以更灵活地将Dozzle集成到现有的基础设施中,同时保持系统的整洁性和安全性。
dozzle Realtime log viewer for docker containers. 项目地址: https://gitcode.com/gh_mirrors/do/dozzle
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考