Visual Studio 2019 Docker语言 - 手动创建的.net core 3.1容器无法在浏览器中打开



>我运行了以下 2 个本地 Linux docker 容器,其中包含 .net Core 3.1 Web api,所有属性如下所示。

CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS                   NAMES
07b119884a5a        servicetwo:dev      "tail -f /dev/null"   4 minutes ago       Up 4 minutes        0.0.0.0:32770->80/tcp   ServiceTwo_1
e54497742108        servicetwo:dev      "tail -f /dev/null"   16 minutes ago      Up 16 minutes       0.0.0.0:32769->80/tcp   ServiceTwo

容器ServiceTwo_1已由Visual Studio在单击其中的docker debug按钮时创建。这可以通过 http://localhost:32770/api/weatherforecast/weather 加载到浏览器中。

但是容器"ServiceTwo"是使用与Visual Studio相同的命令手动创建的,如下所示。

docker run -dt -v "C:Usersjaishvsdbgvs2017u5:/remote_debugger:rw" -v "C:UsersjaishsourcereposServiceTwoServiceTwo:/app" -v "C:UsersjaishsourcereposServiceTwo:/src" -v "C:Usersjaish.nugetpackages:/root/.nuget/fallbackpackages2" -v "C:Program FilesdotnetsdkNuGetFallbackFolder:/root/.nuget/fallbackpackages" -e "DOTNET_USE_POLLING_FILE_WATCHER=1" -e "ASPNETCORE_ENVIRONMENT=Development" -e "NUGET_PACKAGES=/root/.nuget/fallbackpackages2" -e "NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages;/root/.nuget/fallbackpackages2" -P --name ServiceTwo --entrypoint tail servicetwo:dev -f /dev/null 

但是这个容器无法使用它的端口在浏览器中加载,即 http://localhost:32769/api/weatherforecast/weather

我是否错过了手动过程中的任何步骤?

看起来您的端口映射可能是一个问题

0.0.0.0:32770->80/tcp   ServiceTwo_1
0.0.0.0:32769->80/tcp   ServiceTwo

检查运行这些查询后获得的结果

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                            NAMES
b650456536c7        busybox:latest      top                 54 minutes ago      Up 54 minutes       0.0.0.0:1234->9876/tcp, 0.0.0.0:4321->7890/tcp   test
$ docker port test
7890/tcp -> 0.0.0.0:4321
9876/tcp -> 0.0.0.0:1234
$ docker port test 7890/tcp
0.0.0.0:4321
$ docker port test 7890/udp
2014/06/24 11:53:36 Error: No public port '7890/udp' published for test
$ docker port test 7890
0.0.0.0:4321

参考 : https://docs.docker.com/engine/reference/commandline/port/

相关内容

最新更新