使用Docker搭建Caddy,可以快速部署一个轻量级的、支持自动HTTPS的web服务器。下面将分别介绍使用Docker CLI和Docker Compose两种方式来搭建Caddy服务器,并给出配置文件示例以及参数解释。
使用Docker CLI搭建Caddy
首先,确保你的系统上已安装Docker。然后,可以通过以下命令使用Docker CLI启动Caddy容器:
docker run -d -p 80:80 -p 443:443 --name mycaddy caddy caddy file-server --domain yourdomain.com
-d:表示后台运行容器。-p 80:80和-p 443:443:将容器内的80和443端口映射到宿主机的80和443端口,这对于web服务器是必需的。--name mycaddy:为你的容器设置一个名称,这里是mycaddy。caddy:指定使用的镜像名称。caddy file-server --domain yourdomain.com:Caddy的命令行参数,这里以一个简单的文件服务器为例,并设置域名为yourdomain.com。
使用Docker Compose搭建Caddy
对于更复杂的部署,使用Docker Compose可以更方便地管理容器。首先,创建一个docker-compose.yml文件:
version: '3.7'
services:caddy:image: caddyports:- "80:80"- "443:443"volumes:- ./Caddyfile:/etc/caddy/Caddyfile- caddy_data:/data- caddy_config:/configrestart: unless-stoppedvolumes:caddy_data:caddy_config:
version: '3.7':指定Docker Compose文件版本。services:定义服务。image: caddy:指定使用的镜像为Caddy。ports:端口映射,同上。volumes:./Caddyfile:/etc/caddy/Caddyfile:将宿主机上的Caddyfile配置文件映射到容器内的指定位置。caddy_data和caddy_config:定义数据卷用于持久化Caddy的数据和配置。
restart: unless-stopped:容器退出时的重启策略,这里设置为除非手动停止,否则总是重新启动。
在同一目录下创建Caddy配置文件Caddyfile,示例如下:
yourdomain.comroot * /usr/share/caddy
file_server
yourdomain.com:指定域名。root * /usr/share/caddy:设置文档根目录。file_server:启用文件服务器。
启动容器:
docker-compose up -d
up -d:后台启动服务。