通过DockerFile 安装 Caddy 2.v

本文介绍了如何在Docker环境下通过Dockerfile安装Caddy2,并配置Caddyfile实现HTTPS服务,包括日志、静态文件服务、WebSocket支持和反向代理功能。此外,还解决了容器启动时自动升级HTTPS的问题,通过指定--network=host参数使容器网络与宿主机一致。
摘要由CSDN通过智能技术生成

这边省略了 Caddy的介绍和直接在宿主机上操作的过程,如果有需要可留言,我可以再整理一篇。这直接使用 DockerFile ,简单使用 Caddy2.v

  1. 安装
    在DockerFile添加如下
    我的基础镜像是:
ARG UBUNTU_CODENAME="xenial"
FROM ubuntu:${UBUNTU_CODENAME}

安装命令

RUN  apt install -y debian-keyring debian-archive-keyring apt-transport-https curl \
    && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/cfg/gpg/gpg.155B6D79CA56EA34.key' |  apt-key add - \
    && curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/cfg/setup/config.deb.txt?distro=debian&version=any-version' |  tee -a /etc/apt/sources.list.d/caddy-stable.list \
    && apt update \
    && apt install caddy

这个是官网介绍 在 Debian,Ubuntu,Raspbian 环境下安装的方式。

  1. 编写 Caddyfile
    如下是我的Caddyfile
    直接使用Caddy特性 升级 https
test.qx-test2.top:443 {
		# 日志
        log {
        output file /var/log/caddy_access.log
        }
		# 静态服务
        root *  /root/pages
        file_server
		# 请求匹配器
        @server {
        path /api
        path /uploadFile
        path /uploadImage
        }
		# websocket
        @websocket {
        path /websocket
        header Connection *Upgrade*
        header Upgrade    websocket
        }
		# websocket
        @room {
        path /room
        header Connection *Upgrade*
        header Upgrade    websocket
        }
		# 反向代理
        reverse_proxy @room  https://test.qx-test2.top:8443   #后缀拼接
        reverse_proxy @websocket  https://test.qx-test2.top:10202   #后缀拼接
        reverse_proxy @server https://test.qx-test2.top:10202   #后缀拼接
        redir  /database http://test.qingxing-test2.top:8082        #重定向

}
  1. 添加Caddyfile 并启动

在DockerFile 中添加

ADD lib/admin/pages /root/pages
ADD lib/admin/conf/Caddyfile /root/caddy/

因我启动通过启动脚本启动

ENTRYPOINT ["/root/startup.sh"]

所以在 startup.sh 启动文件中 添加

echo 正在启动caddy...
cd /root/caddy/
caddy start

build 镜像即可

  1. 启动容器
    在容器中启动后,可能出现 自动升级 https有问题,我是在启动容器命令中添加了
--network host

容器网络和宿主机一致,成功
如果有啥需要交流探讨可留言一起讨论学习
caddy 中文文档 : https://dengxiaolong.com/caddy/zh/http.redir.html
caddy 官网:https://caddyserver.com/

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XC_Aaron

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值