Image of success call the swagger inside of the docker container
我成功地启动了Docker容器中的服务器。
使用Docker文件的简单映像,我安装了dotnetsdk和托管包,并使用命令行设置了IIS。
我成功地用IIS启动了API服务器,并在Docker容器中使用curl进行了检查。
(图片附后)
但是,当我试图从Docker容器中调用外部时,例如在我的笔记本电脑中,唯一的响应是403 Fordden URL出来。
HTTP 403 forbidden url error
我试着与我的本地IIS设置进行比较,但每个设置都完全相同。
无托管代码,高级设置相同。
有什么问题吗?
这是我使用的docker文件。
# escape=`
FROM mcr.microsoft.com/windows/servercore:ltsc2019
SHELL ["powershell", "-Command"]
RUN Install-WindowsFeature Web-ASP
ADD https://download.microsoft.com/download/1/2/8/128E2E22-C1B9-44A4-BE2A-5859ED1D4592/rewrite_amd64_en-US.msi rewrite_amd64_en-US.msi
RUN Write-Host 'Installing URL Rewrite' ; Start-Process msiexec.exe -ArgumentList '/i', 'rewrite_amd64_en-US.msi', '/quiet', '/norestart' -NoNewWindow -Wait;
WORKDIR /app
COPY ./ /app
RUN mkdir C:/inetpub/wwwroot/api
COPY ./api C:/inetpub/wwwroot/api
EXPOSE 8080
然后安装dotnet-sdk3.1、dotnet-hosting-6.0.4
请给我一些建议。
先谢了
我正试图容器化我的服务器与窗口和dotnet 3.1,但我遇到了问题,而我试图访问暴露的端口。
1条答案
按热度按时间6rqinv9w1#
默认情况下,当您使用docker create或docker run创建或运行容器时,它不会将其任何端口发布到外部世界。要使端口可用于Docker外部的服务或未连接到容器网络的Docker容器,请使用--publish或-p标志。这将创建防火墙规则,该规则将容器端口Map到Docker主机上的端口,以供外部世界使用。
有关容器联网的详细信息,请参阅本手册:https://docs.docker.com/config/containers/container-networking/