代码之家  ›  专栏  ›  技术社区  ›  Dave New

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

  •  3
  • Dave New  · 技术社区  · 7 年前

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

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

    不是 开始于 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"]
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   Wai Ha Lee captain-yossarian from Ukraine    7 年前

    F5级 是在没有调试器的情况下启动的快捷方式。尝试 Ctrl键 .

        2
  •  1
  •   ArunPratap Miguel    7 年前

    Solution Configuration 调试并按 <CTRL + F5> 建立你的 docker image 在本地运行。

    击中 <F5> 开始调试。

    推荐文章