【问题标题】:Unable to debug my Docker container with Visual Studio 2017无法使用 Visual Studio 2017 调试我的 Docker 容器
【发布时间】:2019-04-05 18:15:01
【问题描述】:

我无法使用 Visual Studio 2017 调试我的 Docker 容器。

我正在使用 Docker 18.06.1-ce 和 VS 15.8.8。

在 VS (control + F5) 中启动调试会话时,容器启动正常,但未附加 VS。容器也保持运行并且没有dev 模式启动。如果我想杀死它,我必须使用docker stop a76244870ffe

运行docker container ls:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
a76244870ffe        myapplication       "dotnet MyApplicat.."    25 minutes ago      Up 4 minutes        0.0.0.0:80->80/tcp   dockercompose10819768170563966978_myapplicatio_1

docker-compose.yml:

version: '3.4'

services:
  myapplication:
    image: ${DOCKER_REGISTRY}myapplication
    build:
      context: .
      dockerfile: dockerfile
    ports:
     - "80:80"
    environment:
     - ASPNETCORE_ENVIRONMENT=local

在 VS 中构建输出:

1>------ Build started: Project: docker-compose, Configuration: Debug Any CPU ------
1>docker-compose  -f "C:\mylocation\docker-compose.yml" -p dockercompose10819768170563966978 --no-ansi config
1>The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
1>services:
1>  myapplication:
1>    build:
1>      context: C:\mylocation
1>      dockerfile: dockerfile
1>    environment:
1>      ASPNETCORE_ENVIRONMENT: local
1>    image: myapplication
1>    ports:
1>    - published: 80
1>      target: 80
1>version: '3.4'
1>docker-compose  -f "C:\mylocation\docker-compose.yml" -p dockercompose10819768170563966978 --no-ansi config
1>The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
1>services:
1>  myapplication:
1>    build:
1>      context: C:\mylocation
1>      dockerfile: dockerfile
1>    environment:
1>      ASPNETCORE_ENVIRONMENT: local
1>    image: myapplication
1>    ports:
1>    - published: 80
1>      target: 80
1>version: '3.4'
1>docker-compose  -f "C:\mylocation\docker-compose.yml" -p dockercompose10819768170563966978 --no-ansi config
1>The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
1>services:
1>  myapplication:
1>    build:
1>      context: C:\mylocation
1>      dockerfile: dockerfile
1>    environment:
1>      ASPNETCORE_ENVIRONMENT: local
1>    image: myapplication
1>    ports:
1>    - published: 80
1>      target: 80
1>version: '3.4'
1>docker-compose  -f "C:\mylocation\docker-compose.yml" -p dockercompose10819768170563966978 --no-ansi config
1>The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
1>services:
1>  myapplication:
1>    build:
1>      context: C:\mylocation
1>      dockerfile: dockerfile
1>    environment:
1>      ASPNETCORE_ENVIRONMENT: local
1>    image: myapplication
1>    ports:
1>    - published: 80
1>      target: 80
1>version: '3.4'
1>docker-compose  -f "C:\mylocation\docker-compose.yml" -p dockercompose10819768170563966978 --no-ansi up -d
1>The DOCKER_REGISTRY variable is not set. Defaulting to a blank string.
1>Starting dockercompose10819768170563966978_myapplication_1 ...
1>Starting dockercompose10819768170563966978_myapplication_1 ... done
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

dockerfile:

FROM microsoft/dotnet:2.1-sdk AS builder
WORKDIR /app
COPY ./src/myapplication/myapplication.csproj ./src/myapplication/myapplication.csproj
COPY nuget.config ./
WORKDIR ./src/myapplication/
RUN dotnet restore
WORKDIR /app
COPY ./src ./src
WORKDIR ./src/myapplication/
RUN dotnet publish myapplication.csproj -c Release -o publish
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS runner
WORKDIR /app
COPY --from=builder /app/src/myapplication/publish/ .
ENV ASPNETCORE_ENVIRONMENT local
EXPOSE 80
ENTRYPOINT ["dotnet", "MyApplication.dll"]

【问题讨论】:

  • Ctrl+F5 启动无调试。 F5 从默认映射中附加的调试器开始
  • 我是个白痴……

标签: docker asp.net-core .net-core docker-compose asp.net-docker-extensions


【解决方案1】:

Solution Configuration 设置为调试并按<CTRL + F5> 构建您的docker image 并在本地运行。

点击<F5>开始调试。

【讨论】:

    【解决方案2】:

    Ctrl + F5 是在没有调试器的情况下启动的快捷方式。尝试不带 CtrlF5

    【讨论】:

    • 我仍然无法通过这样做来达到我的断点?
    猜你喜欢
    • 2017-12-20
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多