目标是在Docker for Windows中构建一个静态站点并将其提供给本地计算机上的浏览器。希望类似于“监视”功能。因为并非所有用户都具有到构建站点的目录的相同路径,所以我认为Docker命令需要从相对目录(%cd%
)执行。
docker run --rm -it -p 8080:8080 -v %cd%:c:/windows/docs -m 3GB hcdocs/docfx:latest build c:/windows/docs/docfx.json --serve
(当我拥有用于构建站点的适当Docker命令时,我希望添加类似start chrome --new-window "http://localhost:8080"
的内容以自动打开带有站点预览的浏览器。)
静态站点构建命令为docfx build docfx.json
,并附加了--serve
以服务站点。默认情况下,此命令将站点部署在端口8080
上。 docfx.json
文件将站点配置为从项目的根目录构建到PlatformDocs\wwwroot
。
控制台中显示的站点日志指示该站点已成功构建。 (从Docker脚本中删除-it
时,不会构建完整站点。)日志以Serving "c:\windows\docs\PlatformDocs\wwwroot" on http://localhost:8080
行结尾,这使我相信它可以成功运行。
但是,在本地计算机上打开http://localhost:8080
会产生此错误:
Forbidden URL
HTTP Error 403. The request URL is forbidden.
docker run --rm -it -v %cd%:c:/docs -m 2GB hcdocs/docfx:latest build c:/docs/docfx.json
docker run --rm -it -v %cd%/PlatformDocs/wwwroot:c:/docs/PlatformDocs/wwwroot -p 8080:8080 -m 2GB hcdocs/docfx:latest serve
输出指示Serving "C:\" on http://localhost:8080
,但我希望我希望它为"C:\docs\PlatformDocs\wwwroot"
服务。无论如何,随着正在运行的命令提示符结束并显示新的提示符,服务会迅速结束。
我正在使用DocFx静态站点生成器。该示例项目类似于实际项目:https://github.com/HealthCatalyst/docs-project-template/branches
谢谢您对这个目标的任何方面的见识。