多个 Docker 端口怎么改成用域名加路径或者二级域名去访问?

2018-11-15 14:36:29 +08:00
 jmyz0455

我购置了一台 VPS,用 Docker 构建了几个常用的应用,这里假设叫 do1、do2、do3,分别把暴露端口代理到宿主的 8001、8002、8003 端口上,并分享给朋友使用。考虑到以后朋友使用可能越来越频繁,需求导致我要开的应用越来越多,我可能要不断地增加应用下去,这个时候还用 ip:80** (比如 192.168.0.1:8001~192.168.0.1:8009 )来访问应用显得不合理。

所以问题来了,我能不能只开一个 80 端口,然后用不同的访问地址来对应到不同的 Docker 应用? 比如访问 192.168.0.1 就默认跳到 192.168.0.1/do1,然后 192.168.0.1/do2、192.168.0.1/do3 对应原本 do1、do2、do3 的 Docker 应用?

我不是网工或者运维,所以我只知道我的需求,不知道怎么去解决,我搜了一晚,都找不准关键词。 但是我搜到二级代理这个词,所以我想我可不可以申请一个域名,比如 my.com 这样,然后通过 do1.my.comdo2.my.comdo3.my.com 来访问不同的 Docker 应用?

以上的解决方案我不知道是否实际可行,Docker 我也是刚开始入门。请指点一个思路或者搜索关键词,谢谢。

4158 次点击
所在节点    程序员
24 条回复
jmyz0455
2018-11-16 11:13:46 +08:00
@kimqcn @hack 现在我这里没有域名。我更新了题目,是不是能只用 location 和 proxy_pass 来用 /do1/*** 代理 8001
rockhu
2018-11-16 14:26:15 +08:00
Traefik 或者 Caddy 了解一下。
1747479654
2018-11-18 01:36:21 +08:00
你装个宝塔,然后用里面的 ngnix 反向代理,轻松又方便, 我的 leanote/docker 一些都是这样的,二级域名 /顶级域名指过来,不要太方便.
jmyz0455
2018-11-19 15:20:51 +08:00
@1747479654 可以分享下你 Nginx 的 default.conf 吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/508146

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX