【发布时间】:2020-06-16 12:16:38
【问题描述】:
我有以下 docker 文件和 docker-compose,它通过 CLI 构建和创建容器映像没有任何问题,但是当我尝试通过 VS2019 构建它以进行调试时,它给出了一个错误,我试图重建项目检查哪里出了问题,但我无法弄清楚。我希望有人指出我正确的故障排除方向:-
Docker 文件:
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
# Copy necessary files and restore as distinct layer
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
COPY --from=build-env /app/out .
# Expose ports
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
HEALTHCHECK --interval=30s --timeout=3s --retries=1 CMD curl --silent --fail http://localhost:5000/hc || exit 1
# Start
ENTRYPOINT ["dotnet", "VehicleManagementAPI.dll"]
Docker 编写文件:
services:
vehiclemanagementapi:
image: urgen/vehiclemanagementapi:1.0
build: src/VehiclemanagementAPI
depends_on:
- rabbitmq
- sqlserver
ports:
- "5000"
environment:
- ASPNETCORE_ENVIRONMENT=Production
这不是一个特定的项目在构建/编译 docker-compose 文件时出现问题,而是所有项目都会发生这种情况。正如我所说,它通过 CLI 可以正常工作,没有任何问题,但是我想在 VS2019 中调试的一个特定项目存在问题。
所有项目在没有 dockerize 的情况下都可以正常构建/工作,这意味着我的项目还可以,但问题在于 docker-compose 或 docker 文件。
错误:
Severity Code Description Project File Line Suppression State
Error CTC1000 (Line: 45, Col: 12, Idx: 954) - (Line: 45, Col: 36, Idx: 978): Exception during deserialization docker-compose C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Sdks\Microsoft.Docker.Sdk\build\Microsoft.VisualStudio.Docker.Compose.targets 304
【问题讨论】:
标签: asp.net-core asp.net-web-api docker-compose dockerfile microservices