Docker for Windows在构建静态站点时抛出403 Forbidden错误

时间:2019-05-01 22:58:25

标签: docker docfx

目标是在Docker for Windows中构建一个静态站点并将其提供给本地计算机上的浏览器。希望类似于“监视”功能。因为并非所有用户都具有到构建站点的目录的相同路径,所以我认为Docker命令需要从相对目录(%cd%)执行。

Docker脚本

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

谢谢

谢谢您对这个目标的任何方面的见识。

0 个答案:

没有答案