gpt4 book ai didi

docker - 如何创建在子域上运行 Caddy 服务器和其他服务器的 Docker 文件?

转载 作者:行者123 更新时间:2023-12-02 19:57:54 24 4
gpt4 key购买 nike

我想运行以下服务/docker 图像(在它们各自的子域上)。

╔═══════════╦═════════════════════╦═════════════════════════╗
║ Service ║ URL ║ Docker ║
╠═══════════╬═════════════════════╬═════════════════════════╣
║ Plex ║ plex.example.com ║ plexinc/pms-docker ║
║ Calibre ║ calibre.example.com ║ linuxserver/calibre-web ║
║ NextCloud ║ cloud.example.com ║ nextcloud ║
║ Gitea ║ git.example.com ║ gitea/gitea ║
║ Caddy ║ example.com ║ abiosoft/caddy ║
╚═══════════╩═════════════════════╩═════════════════════════╝

我怎样才能做到这一点? 我对 Docker 的经验很少,但了解它在模块化和沙盒方面的好处。我找到了 this ,但这是特定于 nginx 和 Nextcloud 的。我更喜欢使用 Caddy,因为它具有自动 HTTPS 注册和 HTTP/2 支持。

在路径而不是子域上运行不是首选,但可以接受。

最佳答案

我对 Caddy 本身并没有真正的经验,但听起来你想设置一个代理服务器。您要做的是将 Caddy 端口(我假设为 80 和 443)映射到主机( https://docs.docker.com/compose/compose-file/#ports ),然后在 Caddy 配置中设置必要的代理转发。

例如,要将所有请求转发到 plex.example.com,您只需将 plex.example.com 域指向您的服务器,在服务器中,您的 docker-compose(我假设)项目将运行 80 和 443 端口映射到球童服务。然后当请求进入时,您的 Caddy 可以根据域名转发请求。因此,在这种情况下,您将检查对 plex.example.com 的传入请求,将它们转发到 plex 服务(在使用 docker 时,您可以使用 plex 服务名称作为主机名。在 docker-compose 命令创建的网络中,服务名称解析为对应的IP地址)

关于docker - 如何创建在子域上运行 Caddy 服务器和其他服务器的 Docker 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56623732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com