Ошибка при отладке docker -составить на VS2019 - PullRequest
1 голос
/ 04 марта 2020

У меня есть следующий 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

1 Ответ

0 голосов
/ 04 марта 2020

Я решил проблему, внеся изменения в следующую строку в docker -compose файле, однако я запутался, почему VS 2019 не удалось построить проект, где он работает нормально в режиме CLI, поэтому я понимаю, что если он имеет проблема с docker -композиционной файловой структурой, которая не была бы изначально собрана в режиме CLI: -

build: src/VehicleManagementAPI  to  build: .

Даже ошибка ничего не говорит о проблеме, ошибка кажется бессмысленной / бесполезной для устранения неполадок.

...