Вы можете выполнить следующие шаги:
Создать 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