Docker для Windows выбрасывает 403 Запрещенную ошибку при создании статического сайта - PullRequest
0 голосов
/ 02 мая 2019

Цель состоит в том, чтобы создать статический сайт в Docker для 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 из корня проекта.

Что происходит

Журналы сайта, отображаемые в консоли, указывают, что сайт создан успешно. (Когда -it удаляется из сценария Docker, полный сайт не создается.) Журнал заканчивается следующей строкой: 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

Спасибо

Спасибо за любые идеи по любому аспекту этой цели.

...