我正在尝试使用docker-compose与我的项目。
.NET 5 API项目有问题。
它可以在ISS Express和Docker中正常工作,但是当我使用docker-compose api运行项目时,项目的工作不像预期的那样。
在运行docker-compose时,应该运行API项目并启动swagger API page,而不是在通过浏览器访问暴露端口时显示不同的错误。请在下面找到附上的快照。
Docker容器映像
浏览器Run1
浏览器Run2
浏览器Run3
正如您所看到的,对于每个url,它在浏览器中显示不同的错误消息。
ports:
- 51850:80
ARG BUILD_CONFIGURATION=Debug
ENV ASPNETCORE_ENVIRONMENT=Development
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
ENV ASPNETCORE_URLS=http://+:80
stackoverlow建议-设置要调试的环境
3.尝试使用VSCode docker-compose和Visual Studio docker-compose
在Visual Studio和VS code的帮助下重新生成docker-compose文件。
4.尝试在LaunchSettings.json上设置特定端口
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 44370
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["TAPI/TAPI.csproj", "TAPI/"]
RUN dotnet restore "TAPI/TAPI.csproj"
COPY . .
WORKDIR "/src/TAPI"
RUN dotnet build "TAPI.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "TAPI.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "TAPI.dll"]
version: '3.4'
services:
todoworker:
image: tworker
build:
context: .
dockerfile: TWorker/Dockerfile
todoapi:
image: tapi
build:
context: .
dockerfile: TAPI/Dockerfile
ports:
- 80
- 443
- 44370
tangular:
image: tangular
build:
context: .
dockerfile: TAngular/Dockerfile
ports:
- 4200:4200
日期:2021年5月20日:
我用两个Web API创建了另一个小示例。在我本地的笔记本电脑上测试过。请把它拿到你的本地盒子里执行。如果你需要任何进一步的帮助请告诉我。
GitHub URL:https://GitHub.com/vishipayyallore/mini-projects-2021/tree/master/projects/collegedockerdemo
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["Source/College.WebAPI/College.WebAPI.csproj", "Source/College.WebAPI/"]
RUN dotnet restore "Source/College.WebAPI/College.WebAPI.csproj"
COPY . .
WORKDIR "/src/Source/College.WebAPI"
RUN dotnet build "College.WebAPI.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "College.WebAPI.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "College.WebAPI.dll"]
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY ["Source/ToDo.WebAPI/ToDo.WebAPI.csproj", "Source/ToDo.WebAPI/"]
RUN dotnet restore "Source/ToDo.WebAPI/ToDo.WebAPI.csproj"
COPY . .
WORKDIR "/src/Source/ToDo.WebAPI"
RUN dotnet build "ToDo.WebAPI.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "ToDo.WebAPI.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "ToDo.WebAPI.dll"]
version: '3.4'
services:
college.webapi:
image: ${DOCKER_REGISTRY-}collegewebapi
build:
context: .
dockerfile: Source/College.WebAPI/Dockerfile
todo.webapi:
image: ${DOCKER_REGISTRY-}todowebapi
build:
context: .
dockerfile: Source/ToDo.WebAPI/Dockerfile
version: '3.4'
services:
college.webapi:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "8000:80"
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
todo.webapi:
environment:
- ASPNETCORE_ENVIRONMENT=Development
ports:
- "8001:80"
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
我已经将Jitpack repo和依赖项从Github添加到pom中。但它仍然无法编译。然而,当我指向导入块中的行时,它清楚地显示了模块的描述。VSCode截图 例如,我尝试导入com.github.kwhat.jnativehook.GlobalScreen,它显示了模块的描述,但仍然用红色下划线并显示错误: 类型为com。github。科哈特。jnativehook。无法通过Java访问Glo
我有一个带有两个目录的 Git 存储库: (PHP/Laravel代码) (TypeScript/Vue代码) 我希望在WebStorm中打开项目时,标记为已排除,而在PhpStorm中创建项目时,将
在我的spring项目中,我可以像这样用XML定义bean:
我正在我们的项目中实施DynamoDB。我们必须将大型数据字符串放入数据库中,所以我们将数据拆分为小块,并插入多行,其中只有一个属性值发生了更改—这是字符串的一部分。一列(范围键)包含多个零件。插入和选择数据对于大小字符串都非常有效。问题是删除项目。我了解到,当您想要删除某个项时,需要为该项指定主键(哈希键或哈希键和范围键-取决于表)。但如果我想删除对其中一个属性具有特定值的项目,该怎么办?我是否
我有以下问题--我用插件创建了一个名为“Spring”的简单Gradle项目。但是当我运行Gradle build和任务并输入http://localhost:8080/spring时,我得到404错误。当然,在构建和服务器启动期间,我没有收到任何错误消息。有Build.Gradle: 我还有一个名为的jsp文件放在中: 和文件放在中: 如您所见,服务器似乎正在成功启动:
我尝试在android中使用两个不同的Firebase项目,一个用于FCM,另一个用于Crashlytics(比如ProjectA用于FCM,而ProjectB用于Crashlytics)。但对我没用。 我正在手动初始化Firebase。我的应用程序一启动,我就使用ProjectA配置为FCM初始化Firebase。 有没有人以前试过这样的场景,可以帮助我。