nginx – 具有相同域的端口80上的多个Docker容器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了nginx – 具有相同域的端口80上的多个Docker容器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含892字,纯文字阅读大概需要2分钟。
内容图文
我的问题类似于this问题,但只有一个域.
是否可以在同一台服务器上运行多个docker容器,所有这些容器都在端口80上,但具有不同的URL路径?
例如:
在内部,所有应用程序都托管在同一个docker服务器上.
172.17.0.1:8080 => app1
172.17.0.2:8080 => app2
172.17.0.3:8080 => app3
在外部,用户将使用以下URL访问应用程序:
www.mydomain.com (app1)
www.mydomain.com/app/app2 (app2)
www.mydomain.com/app/app3 (app3)
解决方法:
我用nginx反向代理解决了这个问题.
这是nginx容器的Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
这是nginx.conf:
http {
server {
listen 80;
location / {
proxy_pass http://app1:5001/;
}
location /api/ {
proxy_pass http://app2:5000/api/;
}
}
}
然后我在同一个docker网络中站起来了nginx,app1和app2容器.
确保在位置和代理路径中包含尾随/,否则nginx将返回’502:Bad Gateway’.
所有请求都通过端口80上的docker主机,然后将它们移交给nginx容器,然后nginx容器根据url路径将它们转发到app容器.
内容总结
以上是互联网集市为您收集整理的nginx – 具有相同域的端口80上的多个Docker容器全部内容,希望文章能够帮你解决nginx – 具有相同域的端口80上的多个Docker容器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。