具有路径匹配规则的traefik反向代理后面的Jenkins Docker容器
我有一个Docker容器运行类似于: 然后我用Jenkins运行另一个容器,该容器通过标签配置转发规则,以便具有路径匹配规则的traefik反向代理后面的Jenkins Docker容器,docker,jenkins,traefik,Docker,Jenkins,Traefik,我有一个Docker容器运行类似于: 然后我用Jenkins运行另一个容器,该容器通过标签配置转发规则,以便traefik将所有路径以/Jenkins开头的请求转发给它: docker run \ -d \ --name jenkins \ --label "traefik.port=8080" \ --label "traefik.frontend.rule=PathPrefix: /jenkins" \ jenkins/jenkins:lts 现在,打开http://l
traefik
将所有路径以/Jenkins
开头的请求转发给它:
docker run \
-d \
--name jenkins \
--label "traefik.port=8080" \
--label "traefik.frontend.rule=PathPrefix: /jenkins" \
jenkins/jenkins:lts
现在,打开http://localhost/jenkins
,请求被正确地转发到Jenkins容器,该容器将我重定向到主index.html
页面。但是,页面大部分是空白的,因为JavaScript和CSS资产没有正确加载
查看浏览器控制台,我可以看到索引页正试图从http://localhost/static/4e9c623d/scripts/yui/button/button-min.js
此设置中不存在的。相反,它应该在URL中包含/jenkins/
部分,并尝试从http://localhost/jenkins/static/4e9c623d/scripts/yui/button/button-min.js
相反-手动点击该URL会在浏览器中显示JS文件
我尝试使用类似于--label“traefik.frontend.rule=PathPrefix:/jenkins;AddPrefix:/jenkins/”
的规则组合,但这并没有改变任何东西
如何编写规则使其正常工作?运行JENKINS容器时,需要将自定义路径添加到环境变量,例如
-e JENKINS_OPTS=“--prefix=/JENKINS”
看
docker run \
-d \
--name jenkins \
--label "traefik.port=8080" \
--label "traefik.frontend.rule=PathPrefix: /jenkins" \
jenkins/jenkins:lts