使用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
:后台启动服务。