docs/快速开始
更新于 2026-10阅读约 6 分钟

Docker 快速开始

Fast-Https 官方镜像内置了 fast-https 二进制、一份默认配置和一个示例站点,拉取后把自己的配置目录与站点目录挂载进去即可运行。三种基础镜像的容器内路径并不相同,启动前请先确认下面的对照表。

1 镜像说明

镜像 tag基础系统工作目录配置目录站点目录
alpineAlpine Linux/app/app/config/app/httpdoc
ubuntuUbuntu 24.04/usr/local/fast-https/usr/local/fast-https/config/usr/local/fast-https/httpdoc
centos7CentOS 7/usr/local/fast-https/usr/local/fast-https/config/usr/local/fast-https/httpdoc

三个镜像都对外声明 80、443 端口,并已设置 FASTHTTPS_FOREGROUND=1,容器以前台方式运行,可直接配合 -d 在后台常驻。

镜像由源码仓库 build/ 下的 Dockerfile 构建,可自行核对:build/Dockerfile(Alpine)、build/docker/Dockerfile_ubuntu、build/docker/Dockerfile_centos7。

2 拉取镜像

docker pull registry.cn-beijing.aliyuncs.com/ncepu-ideal/fast-https:alpine

按需要换成其他基础系统:

docker pull registry.cn-beijing.aliyuncs.com/ncepu-ideal/fast-https:ubuntu
docker pull registry.cn-beijing.aliyuncs.com/ncepu-ideal/fast-https:centos7

3 准备挂载目录

镜像内已经放了一份默认配置和示例首页;一旦用 -v 把宿主机目录挂到容器里,容器内原有内容会被完全覆盖。所以宿主机上的目录要先准备好,不能是空目录:

/path/to/config
├── fast-https.json      # 主配置,含 listen 端口与站点定义
├── mime.json            # MIME 类型表
├── fastcgi.conf         # FastCGI 相关配置
├── cert/                # 证书目录
└── conf.d/              # 站点配置目录

/path/to/httpdoc
└── root/
    └── index.html       # 站点根目录内容

最省事的做法是先把镜像内置的默认文件拷出来,再按需修改:

mkdir -p /path/to/config /path/to/httpdoc
docker run --rm registry.cn-beijing.aliyuncs.com/ncepu-ideal/fast-https:alpine \
  sh -c "tar -C /app -cf - config httpdoc" | tar -C /path/to -xf -

4 启动容器

Alpine 版(下文以此为例):

docker run -d --name fast-https \
  -p 8080:80 \
  -p 443:443 \
  -v /path/to/config:/app/config \
  -v /path/to/httpdoc:/app/httpdoc \
  --restart unless-stopped \
  registry.cn-beijing.aliyuncs.com/ncepu-ideal/fast-https:alpine

参数说明:

  • -p 8080:80:宿主 8080 → 容器 HTTP 80。宿主机 80 端口已被占用时可以继续用 8080,只是访问地址要带端口。
  • -p 443:443:宿主 443 → 容器 HTTPS 443,证书与对外链接按标准端口工作。若宿主 443 已被其他服务占用,可改成 -p 8443:443,但对外链接需要带端口。
  • -v /path/to/config:/app/config:宿主机配置目录 → 容器内配置目录。
  • -v /path/to/httpdoc:/app/httpdoc:宿主机站点目录 → 容器内站点根目录。
  • --restart unless-stopped:异常退出或宿主机重启后自动拉起。
  • -d:后台运行。去掉 -d 则日志直接输出到终端,Ctrl+C 即停止。

使用 ubuntu / centos7 镜像时,把两个 -v 的容器侧路径换成 /usr/local/fast-https/config 与 /usr/local/fast-https/httpdoc:

docker run -d --name fast-https \
  -p 8080:80 -p 443:443 \
  -v /path/to/config:/usr/local/fast-https/config \
  -v /path/to/httpdoc:/usr/local/fast-https/httpdoc \
  --restart unless-stopped \
  registry.cn-beijing.aliyuncs.com/ncepu-ideal/fast-https:ubuntu

5 验证

# 容器是否在运行
docker ps --filter name=fast-https

# 查看启动日志
docker logs -f fast-https

# 请求首页
curl -I http://127.0.0.1:8080/

浏览器访问 http://<服务器IP>:8080/ 应能看到站点首页。若返回 404,先确认宿主机的 httpdoc/root/index.html 是否存在;若容器反复重启,检查 fast-https.json 的写法(该文件允许 // 注释,但 JSON 尾逗号会导致解析失败)。

6 自行构建镜像

镜像也可以从源码构建。Dockerfile 中的 COPY go.mod go.sum 与 COPY . . 依赖仓库根目录作为构建上下文,因此必须在仓库根目录执行 docker build,并用 -f 指定 Dockerfile:

git clone https://github.com/ncepu-iDealStudio/Fast-Https.git
cd Fast-Https

# Alpine(默认 Dockerfile,位于 build/Dockerfile)
docker build -f build/Dockerfile -t fast-https:tag .

# Ubuntu
docker build -f build/docker/Dockerfile_ubuntu -t fast-https:tag .

# CentOS 7
docker build -f build/docker/Dockerfile_centos7 -t fast-https:tag .

构建阶段使用 golang:1.27-alpine 并以 CGO_ENABLED=0 静态编译,产物再复制进运行时镜像;三个镜像的工作目录分别是 /app(Alpine)与 /usr/local/fast-https(Ubuntu、CentOS 7),与上文的挂载路径一致。国内网络环境也可以从 gitee 镜像仓库克隆:https://gitee.com/ncepu-bj/fast-https。