запуск локальной веб-страницы с использованием контейнера docker IIS - PullRequest
0 голосов
/ 14 февраля 2020

Запуск Docker для windows для размещения локального IIS для тестирования веб-страницы, используя стандартную windows Dockerpage IIS

Я не уверен, какую часть изменить в мой dockerfile, который позволяет мне запустить мою веб-страницу. Простое редактирование команды COPY в dockerfile - это то, что я думал, что мне нужно изменить, но это не так. Что мне нужно сделать, чтобы запустить другой файл html вместо страницы по умолчанию windows IIS?

РЕДАКТИРОВАТЬ: удалось найти открытый контейнер, выполнив поиск wwwroot в моем C :, и я скопировал и вставил свой индекс hello world. html страницу и смог запустить его

1 Ответ

0 голосов
/ 17 февраля 2020

Вы можете выполнить следующие шаги:

Создать Dockerfile с вашим сайтом

FROM mcr.microsoft.com/windows/servercore/iis

RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\*

WORKDIR /inetpub/wwwroot

COPY content/ .

Затем вы можете создать и запустить Docker образ:

$ docker build -t iis-site .
$ docker run -d -p 8000:80 --name my-running-site iis-site

Нет необходимости указывать ENTRYPOINT в вашем файле Docker, поскольку базовый образ microsoft / iis уже содержит приложение точки входа, которое отслеживает состояние службы публикации IIS World Wide Web (W3SV C).

С В текущем выпуске вы не можете использовать http://localhost для просмотра своего сайта с хоста контейнера. Это связано с известным поведением в WinNAT и будет решено в будущем. Пока это не решено, вам нужно использовать IP-адрес контейнера.

После запуска контейнера вам нужно будет найти его IP-адрес, чтобы вы могли подключиться к запущенному контейнеру из браузера. Для этого вы используете команду docker inspect:

docker inspect -f "{{ .NetworkSettings.Networks.nat.IPAddress }}" my-running-site

Вы увидите вывод, подобный следующему:

172.28.103.186

Вы можете подключить работающий контейнер, используя IP-адрес и настроенный порт, http://172.28.103.186: 8000 в показанном примере. Помимо содержимого c, IIS может выполнять другие рабочие нагрузки, включая, но не ограничиваясь, ASP. NET, ASP. NET Core, NodeJS, PHP и Apache Tomcat.

Для более подробной информации вы можете обратиться по ссылкам ниже:

https://docs.microsoft.com/en-us/aspnet/mvc/overview/deployment/docker-aspnetmvc

https://mcpmag.com/articles/2019/11/20/iis-on-windows-server-containers.aspx

Невозможно получить доступ к контейнеру IIS из браузера - Docker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...