Docker
docmd 生成静态 HTML——非常适合轻量级、可复现的 Docker 容器。
生成 Dockerfile
docmd deploy --docker
这会在项目根目录创建针对你配置定制的 Dockerfile 和 .dockerignore:
- 你的输出目录用于
COPY路径(不是硬编码的site/) - 你当前的
@docmd/core版本固定在安装步骤中,确保可复现构建 - 你的配置文件在使用非默认名称时会传递给
docmd build
生成内容
Dockerfile 采用优化的多阶段构建:
- 阶段 1 — 构建:通过层缓存安装依赖(先复制
package.json),安装固定版本的@docmd/core,执行docmd build。 - 阶段 2 — 服务:将构建产物复制到精简的
nginx:alpine容器中。
Docker 中使用自定义 Nginx
如果你在生成 Dockerfile 之前先生成了 nginx.conf(通过 docmd deploy --nginx),它会被自动检测并配置到容器中。
构建和运行
docker build -t my-docs .
docker run -p 8080:80 my-docs
你的文档现在可以在 http://localhost:8080 访问。
重新生成
修改了配置?直接重新运行 docmd deploy --docker——文件始终根据当前 docmd.config.js 重新生成。