asciidoctor/docker-asciidoctorAsciidoctor Docker 镜像是 Asciidoctor 工具链的容器化封装,提供独立、一致的运行环境,用于解析和转换 AsciiDoc 格式文档。该镜像集成了 Asciidoctor 核心工具及常用扩展,支持将 AsciiDoc 源文件转换为 HTML、PDF、EPUB、DocBook 等多种输出格式。用户无需在本地配置依赖环境,通过容器即可快速完成文档处理,适用于本地文档生成、CI/CD 流程集成及团队协作场景。
asciidoctor-pdf(PDF 输出)、asciidoctor-epub3(EPUB 电子书输出)。asciidoctor-diagram,支持 PlantUML、Mermaid、Graphviz 等图表渲染。v2.0.0),确保文档构建环境一致性。asciidoctor-revealjs 生成幻灯片(需额外加载扩展)。document.adoc)。bash# 拉取最新版本 docker pull asciidoctor/docker-asciidoctor:latest # 拉取指定版本(推荐生产环境使用) docker pull asciidoctor/docker-asciidoctor:v2.0.0
将本地 AsciiDoc 文件转换为 HTML,输出至当前目录:
bash# 挂载当前目录到容器内 /doc 目录,执行转换 docker run --rm -v $(pwd):/doc asciidoctor/docker-asciidoctor \ asciidoctor -o /doc/output.html /doc/document.adoc
--rm:容器退出后自动删除。-v $(pwd):/doc:将本地当前目录挂载到容器内 /doc 目录(容器工作目录)。asciidoctor:容器内执行的命令。-o /doc/output.html:指定输出文件路径(映射到本地当前目录)。使用 asciidoctor-pdf 转换器生成 PDF:
bashdocker run --rm -v $(pwd):/doc asciidoctor/docker-asciidoctor \ asciidoctor-pdf -o /doc/output.pdf /doc/document.adoc
渲染包含 PlantUML 图表的 AsciiDoc 文件:
bashdocker run --rm -v $(pwd):/doc asciidoctor/docker-asciidoctor \ asciidoctor -r asciidoctor-diagram -o /doc/output.html /doc/diagram-demo.adoc
-r asciidoctor-diagram:加载图表扩展模块。转换 /path/to/docs 目录下所有 .adoc 文件为 HTML,输出至 /path/to/output:
bashdocker run --rm -v /path/to/docs:/doc/source -v /path/to/output:/doc/output asciidoctor/docker-asciidoctor \ asciidoctor -D /doc/output /doc/source/*.adoc
在 GitHub 仓库提交代码后自动生成并推送文档:
yaml# .github/workflows/generate-docs.yml name: Generate Docs on: [push] jobs: build-docs: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Generate HTML docs run: | docker run --rm -v $(pwd):/doc asciidoctor/docker-asciidoctor \ asciidoctor -D /doc/_site /doc/docs/*.adoc - name: Deploy to GitHub Pages uses: peaceiris/actions-gh-pages@v4 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./_site
| 参数 | 说明 | 示例 |
|---|---|---|
-i <file> | 指定输入文件(默认从 stdin 读取) | -i /doc/source.adoc |
-o <file> | 指定输出文件(默认与输入文件同目录) | -o /doc/output.html |
-D <dir> | 设置输出目录 | -D /doc/output |
-r <lib> | 加载扩展库(如 asciidoctor-diagram) | -r asciidoctor-pdf |
-a <key>=<val> | 设置文档属性(如 icons=font) | -a version=1.0 -a date=2024 |
--safe-mode <level> | 安全模式(unsafe/safe/server) | --safe-mode unsafe |
若容器生成的文件权限异常(如属主为 root),可通过 --user 参数指定本地用户 ID/组 ID:
bashdocker run --rm -u $(id -u):$(id -g) -v $(pwd):/doc asciidoctor/docker-asciidoctor \ asciidoctor /doc/document.adoc
创建 docker-compose.yml 实现配置复用:
yamlversion: '3.8' services: asciidoctor: image: asciidoctor/docker-asciidoctor:latest volumes: - ./docs:/doc/source # 本地 AsciiDoc 源文件目录 - ./docs/output:/doc/output # 输出目录(自动创建) command: > asciidoctor -D /doc/output -r asciidoctor-diagram -a icons=font /doc/source/*.adoc
使用方法:在配置文件目录执行 docker-compose up,自动转换 ./docs 下所有 .adoc 文件至 ./docs/output。
A:需在 AsciiDoc 文件中指定中文字体,或通过 -a pdf-fontsdir 参数加载本地字体目录:
bashdocker run --rm -v $(pwd):/doc -v /path/to/fonts:/fonts asciidoctor/docker-asciidoctor \ asciidoctor-pdf -a pdf-fontsdir=/fonts /doc/document.adoc
A:通过容器内 gem list 命令查看已安装的 Ruby gems:
bashdocker run --rm asciidoctor/docker-asciidoctor gem list

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务