安装docker的部分可以参照下面这个文章:
有两种方法编译,一种使用Dockerfile直接编译成镜像,另一种就是docker-compose。我个人习惯第二种,两种都记录一下
Dockerfile编译
按照官方的说法,直接创建一个Dockerfile即可。
FROM caddy:<version>-builder AS builder
RUN xcaddy build \
--with github.com/caddyserver/nginx-adapter \
--with github.com/hairyhenderson/caddy-teapot-module@v0.0.3-0
FROM caddy:<version>
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
这个version可以直接替换为 latest
看个人需求把。
我需要加上cloudflare的api来进行ssl的自动申请,所以要改一下:
FROM caddy:builder AS builder
RUN xcaddy build \
--with github.com/caddy-dns/cloudflare
FROM caddy:latest
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
然后build一下:
docker build -t caddy_cloudflare .
查看下docker images里有没有他
没问题就可以run了。但是要配置部分参数,我很懒,所以不如直接用docker compose来启动,区别不大。启动参数参考后面的把
Docker Compsoe 版
build部分不变,以下是docker compose的文件,记得要跟dockerfile放在一个地方下面
services:
caddy:
# 如果你先build,后用docker compose。可以把下面的image留着,并改为你当时起的镜像名
#image: caddy:<version>
# 如果没有build,那就把image去掉用这个
build: .
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./site:/srv
- caddy_data:/data
- caddy_config:/config
volumes:
caddy_data:
caddy_config:
最后保存即可。
处理完后再up即可
添加SSL配置
在Caddyfile里写入以下内容:
{
email xxxxxxxxxxxxxxx@xxxx.com
log error {
output file /var/logs/caddy/error.log {
roll_size 20MB
roll_keep 5
roll_keep_for 240h
}
level ERROR
}
acme_dns cloudflare xxxxxxxxxxxxxxxxxxxxx
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容