【Docker】使用 Docker Compose 部署 Caddy 服务器
发表于更新于
字数总计:746阅读时长:2分钟阅读量:
Docker搭建网络管理【Docker】使用 Docker Compose 部署 Caddy 服务器
小鸡吧使用 Docker Compose 部署 Caddy 服务器
使用 Docker Compose 部署 Caddy 服务器
本文档提供了一步一步的指南,用于使用 Docker Compose 部署 Caddy 服务器。Caddy 是一个现代的
Web服务器,可以轻松配置和自动管理TLS证书,非常适合托管网站和Web应用程序。
步骤 1: 创建目录结构
首先,创建一个名为 “caddy” 的文件夹,用于存放所有相关文件和配置。在 “caddy” 文件夹内,创建以
下子文件夹:
- caddy/data : 用于存放Caddy服务器的数据文件。
- caddy/config : 用于存放Caddy服务器的配置文件。
步骤 2: 创建 Caddy 配置文件
在 “caddy” 文件夹内,创建一个名为 “Caddyfile” 的配置文件,用于定义Caddy服务器的行为和规则。以
下是示例配置,您可以根据自己的需求进行修改:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| # 设置监听端口 { http_port 8080 https_port 8443 } # 获取泛域名证书 *.xxxxxx.tk { tls { # 根据自己的DNS服务提供商配置 dns dnspod {env.DNSPOD_TOKEN} # 或其他DNS服务提供商的配置,取消相应注释 # dns alidns { # access_key_id {env.ALIYUN_ACCESS_KEY_ID} # access_key_secret {env.ALIYUN_ACCESS_KEY_SECRET} # } # dns cloudflare {env.CF_API_TOKEN} } # 为不同子域名配置反向代理规则 @mp host mp.xxxxxx.tk handle @mp { encode gzip reverse_proxy 192.168.50.100:3004 } # 为pve子域名配置反向代理规则(适用HTTPS) @pve host pve.xxxxx.tk handle @pve { reverse_proxy 192.168.50.2:8006 { transport http { tls_insecure_skip_verify } } } # 更多服务可以复制上面的规则继续添加 # 未处理的域名请求将被中止 handle { abort } }
|
确保根据您的DNS服务提供商取消或保留相关注释,并填写相应的信息。
步骤 3: 创建 Docker Compose 配置文件
在 “caddy” 文件夹内,创建一个名为 “docker-compose.yml” 的Docker Compose配置文件,用于定义
Caddy容器的设置。以下是示例配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| version: '3' services: caddy: image: econome/caddy-dns ports: - "8080:8080" - "8443:8443" - "8443:8443/udp" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - ./data:/data - ./config:/config environment: # 根据自己使用的DNS服务提供商配置,取消相应注释并填写信息 # dnspod配置 #- DNSPOD_TOKEN=611111,axxxxxxxxxxxxxxxxxx # 阿里云dns配置 #- ALIYUN_ACCESS_KEY_ID= #- ALIYUN_ACCESS_KEY_SECRET= # CloudFlare配置 #- CF_API_TOKEN=
|
确保根据您的DNS服务提供商取消或保留相关注释,并填写相应的信息。
步骤 4: 启动 Caddy 服务器
在 “caddy” 文件夹内,使用以下命令启动Caddy服务器容器:
docker-compose up -d
这将启动Caddy服务器,根据您的Caddyfile配置进行反向代理和自动获取泛域名证书。确保您的DNS服
务提供商配置正确,并且您的域名指向了正确的IP地址。
现在,您已经成功部署了Caddy服务器,可以开始使用它提供HTTP和HTTPS服务。根据您的需求,您可
以进一步自定义Caddy配置。祝您顺利完成部署