dotnetcore Visual Studio 템플릿 용 Docker 이미지에 앱이 설치되지 않음

MiguelSlv

도커부터 시작하여 패스 파인더로 사용할 기본 dotnet 코어 콘솔 앱을 만듭니다. 그런 다음 Windows 컨테이너를 대상으로하는 docker-compose 지원을 추가합니다.

Visual Studio에서 이미지를 빌드하고 실행할 수 있으며 앱을 디버그 할 수도 있습니다. 하지만 Docker CLI에서 동일한 앱을 실행하려고하면 앱이 c : \ app 폴더에 게시되지 않았 음을 나타냅니다. 앱은 "Hello World"를 STDOUT에 보냅니다.

여기에 dockerfile이 있습니다.

#Depending on the operating system of the host machines(s) that will build or run the containers, the image specified in the FROM statement may need to be changed.
#For more information, please see https://aka.ms/containercompat

FROM mcr.microsoft.com/dotnet/core/runtime:3.0-nanoserver-1903 AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/core/sdk:3.0-nanoserver-1903 AS build
WORKDIR /src
COPY ["dotnetCore3.csproj", "./"]
RUN dotnet restore "dotnetCore3.csproj"
COPY . .
WORKDIR "/src/"
RUN dotnet build "dotnetCore3.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "dotnetCore3.csproj" -c Release -o /app/publish

docker-compose.yml :

version: '3.4'
services:
  dotnetcore3:
    image: *****/myregistry/dotnetcore3
    build:
      context: .
      dockerfile: Dockerfile

달리는:

docker run  *****/myregistry/dotnetcore3:dev

앱을 실행하는 대신 Docker 내부에서 셸을 실행합니다. 셸을 사용하면 c : \ app 폴더에 아무것도 없습니다.

컨테이너 도구 창의 전체 로그는 다음과 같습니다.

========== Preparing Containers ==========
Getting Docker containers ready...
docker-compose  -f "C:\Users\MS20004\source\repos\dotnetCore3\docker-compose.yml" -f "C:\Users\MS20004\source\repos\dotnetCore3\docker-compose.override.yml" -f "C:\Users\MS20004\source\repos\dotnetCore3\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15898560444299855188 --no-ansi config
networks:
  default:
    external:
      name: nat
services:
  dotnetcore3:
    build:
      context: C:\Users\*****\source\repos\dotnetCore3
      dockerfile: Dockerfile
      labels:
        com.microsoft.created-by: visual-studio
        com.microsoft.visual-studio.project-name: dotnetCore3
      target: base
    entrypoint: cmd /c "set DISABLE_PERFORMANCE_DEBUGGER=1 & C:\\remote_debugger\\x64\\msvsmon.exe
      /noauth /anyuser /silent /nostatus /noclrwarn /nosecuritywarn /nofirewallwarn
      /nowowwarn /timeout:2147483646 /LogDebuggeeOutputToStdOut"
    environment:
      NUGET_FALLBACK_PACKAGES: c:\.nuget\fallbackpackages
      NUGET_PACKAGES: C:\.nuget\packages
    image: dotnetcore3:dev
    labels:
      com.microsoft.visualstudio.debuggee.arguments: ' --additionalProbingPath c:\.nuget\packages
        --additionalProbingPath c:\.nuget\fallbackpackages  "bin\Debug\netcoreapp3.0\dotnetCore3.dll"'
      com.microsoft.visualstudio.debuggee.killprogram: C:\remote_debugger\x64\utils\KillProcess.exe
        dotnet.exe
      com.microsoft.visualstudio.debuggee.program: '"C:\Program Files\dotnet\dotnet.exe"'
      com.microsoft.visualstudio.debuggee.workingdirectory: C:\app
    volumes:
    - C:\Users\*****\source\repos\dotnetCore3:C:\app:rw
    - C:\Users\*****\onecoremsvsmon\16.3.0040.0:C:\remote_debugger:ro
    - C:\Program Files\dotnet\sdk\NuGetFallbackFolder:c:\.nuget\fallbackpackages:ro
    - C:\Users\*****\.nuget\packages:c:\.nuget\packages:ro
version: '3.4'
docker ps --filter "status=running" --format {{.ID}};{{.Names}}
docker-compose  -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.yml" -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.override.yml" -f "C:\Users\*****\source\repos\dotnetCore3\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15898560444299855188 --no-ansi build 
Building dotnetcore3
Step 1/4 : FROM mcr.microsoft.com/dotnet/core/runtime:3.0-nanoserver-1903 AS base
 ---> 279077ab63e3
Step 2/4 : WORKDIR /app
 ---> Using cache
 ---> 6ce0262ac12a
Step 3/4 : LABEL com.microsoft.created-by=visual-studio
 ---> Using cache
 ---> 3756662eccd6
Step 4/4 : LABEL com.microsoft.visual-studio.project-name=dotnetCore3
 ---> Using cache
 ---> 71d353776b98
Successfully built 71d353776b98
Successfully tagged dotnetcore3:dev
docker-compose  -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.yml" -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.override.yml" -f "C:\Users\*****\source\repos\dotnetCore3\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15898560444299855188 --no-ansi up -d --no-build --force-recreate --remove-orphans
Creating dockercompose15898560444299855188_dotnetcore3_1 ... 
Creating dockercompose15898560444299855188_dotnetcore3_1 ... done
Done!  Docker containers are ready.
========== Preparing Containers ==========
Getting Docker containers ready...
docker-compose  -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.yml" -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.override.yml" -f "C:\Users\*****\source\repos\dotnetCore3\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15898560444299855188 --no-ansi config
networks:
  default:
    external:
      name: nat
services:
  dotnetcore3:
    build:
      context: C:\Users\*****\source\repos\dotnetCore3
      dockerfile: Dockerfile
      labels:
        com.microsoft.created-by: visual-studio
        com.microsoft.visual-studio.project-name: dotnetCore3
      target: base
    entrypoint: cmd /c "set DISABLE_PERFORMANCE_DEBUGGER=1 & C:\\remote_debugger\\x64\\msvsmon.exe
      /noauth /anyuser /silent /nostatus /noclrwarn /nosecuritywarn /nofirewallwarn
      /nowowwarn /timeout:2147483646 /LogDebuggeeOutputToStdOut"
    environment:
      NUGET_FALLBACK_PACKAGES: c:\.nuget\fallbackpackages
      NUGET_PACKAGES: C:\.nuget\packages
    image: *****/dockerhub/dotnetcore3:dev
    labels:
      com.microsoft.visualstudio.debuggee.arguments: ' --additionalProbingPath c:\.nuget\packages
        --additionalProbingPath c:\.nuget\fallbackpackages  "bin\Debug\netcoreapp3.0\dotnetCore3.dll"'
      com.microsoft.visualstudio.debuggee.killprogram: C:\remote_debugger\x64\utils\KillProcess.exe
        dotnet.exe
      com.microsoft.visualstudio.debuggee.program: '"C:\Program Files\dotnet\dotnet.exe"'
      com.microsoft.visualstudio.debuggee.workingdirectory: C:\app
    volumes:
    - C:\Users\*****\source\repos\dotnetCore3:C:\app:rw
    - C:\Users\*****\onecoremsvsmon\16.3.0040.0:C:\remote_debugger:ro
    - C:\Program Files\dotnet\sdk\NuGetFallbackFolder:c:\.nuget\fallbackpackages:ro
    - C:\Users\*****\.nuget\packages:c:\.nuget\packages:ro
version: '3.4'
docker ps --filter "status=running" --format {{.ID}};{{.Names}}
365e9e5b6bb8;dockercompose15898560444299855188_dotnetcore3_1
docker exec -i 365e9e5b6bb8 C:\remote_debugger\x64\utils\KillProcess.exe dotnet.exe
docker-compose  -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.yml" -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.override.yml" -f "C:\Users\*****\source\repos\dotnetCore3\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15898560444299855188 --no-ansi build 
Building dotnetcore3
Step 1/4 : FROM mcr.microsoft.com/dotnet/core/runtime:3.0-nanoserver-1903 AS base
 ---> 279077ab63e3
Step 2/4 : WORKDIR /app
 ---> Using cache
 ---> 6ce0262ac12a
Step 3/4 : LABEL com.microsoft.created-by=visual-studio
 ---> Using cache
 ---> 3756662eccd6
Step 4/4 : LABEL com.microsoft.visual-studio.project-name=dotnetCore3
 ---> Using cache
 ---> 71d353776b98
Successfully built 71d353776b98
Successfully tagged *****/myregistry/dotnetcore3:dev
docker-compose  -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.yml" -f "C:\Users\*****\source\repos\dotnetCore3\docker-compose.override.yml" -f "C:\Users\*****\source\repos\dotnetCore3\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15898560444299855188 --no-ansi up -d --no-build --force-recreate --remove-orphans
Recreating dockercompose15898560444299855188_dotnetcore3_1 ... 
Recreating dockercompose15898560444299855188_dotnetcore3_1 ... done
Done!  Docker containers are ready.
========== Debugging ==========
docker ps --filter "status=running" --filter "name=dockercompose15898560444299855188_dotnetcore3_" --format {{.ID}} -n 1
54b4bc125895
docker inspect --format="{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}" 54b4bc125895
172.30.67.88 
========== Debugging ==========
docker ps --filter "status=running" --filter "name=dockercompose15898560444299855188_dotnetcore3_" --format {{.ID}} -n 1
54b4bc125895
docker inspect --format="{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}" 54b4bc125895
172.30.67.88 
========== Debugging ==========
docker ps --filter "status=running" --filter "name=dockercompose15898560444299855188_dotnetcore3_" --format {{.ID}} -n 1
314dff0ffdf6
docker inspect --format="{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}" 314dff0ffdf6
172.30.75.30 
========== Debugging ==========
docker ps --filter "status=running" --filter "name=dockercompose15898560444299855188_dotnetcore3_" --format {{.ID}} -n 1
314dff0ffdf6
docker inspect --format="{{range .NetworkSettings.Networks}}{{.IPAddress}} {{end}}" 314dff0ffdf6
172.30.75.30 

최신 정보:

Docker CLI에서 빌드하려고 시도한 결과 프록시가 컨테이너에서 인터넷 액세스를 차단하고 있음을 발견했습니다. Visual Studio에서 빌드가 실패하는 이유가 무엇인지 모르겠습니다. 로그에 오류가 표시되지 않지만 dotnet 명령의 출력을 볼 수 없습니다.

MiguelSlv

해결책은 컨테이너에서 빌드하는 대신 앱을 빌드에 미리 컴파일하기 위해 dockerfile을 수정하는 것이 었습니다.

다음은 최종 DockerFile입니다.

FROM mcr.microsoft.com/dotnet/core/runtime:3.0-nanoserver-1903 AS base
WORKDIR /app

COPY ".\bin\Release\netcoreapp3.0" "/app"

#just for debug purposes
RUN dir

FROM base AS final
ENTRYPOINT ["dotnet", "dotnetCore3.dll"]

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Visual Studio 2015 업데이트 2에 유니버설 Windows 템플릿이 표시되지 않음

분류에서Dev

Visual Studio 2013에 설치된 템플릿이 없음

분류에서Dev

MVC4가 설치되어 있지만 Visual Studio 2010에서 MVC4 템플릿이 표시되지 않음

분류에서Dev

XNA Game Studio 4.0이 설치된 템플릿에 표시되지 않습니다.

분류에서Dev

Visual Studio 2015 용 SQL Server 데이터 도구를 설치 한 후 BI 템플릿이 없음

분류에서Dev

Visual Studio Cordova 도구 서명 릴리스 APK '앱이 설치되지 않음'

분류에서Dev

템플릿 .Net Core가 Visual Studio 2015를 표시하지 않음

분류에서Dev

Visual Studio 2019에서 C ++ 템플릿 기능이 작동하지 않음 [오류 2668]

분류에서Dev

웹용 Visual Studio 2013이 설치되었지만 시작 메뉴에 없음

분류에서Dev

웹용 Visual Studio 2013이 설치되었지만 시작 메뉴에 없음

분류에서Dev

Shopify의 템플릿 접미사 섹션에 사용자 지정 템플릿이 표시되지 않습니다.

분류에서Dev

Visual Studio 2015 설치 후 PowerShell이 실행되지 않음

분류에서Dev

Rails ActionMailer 템플릿 업데이트가 적용되지 않음

분류에서Dev

kendo ui 그리드 열 템플릿이 적용되지 않음

분류에서Dev

Visual Studio Cordova 앱이 Android 장치에서 업데이트되지 않음

분류에서Dev

사용자 지정이 아닌 위치에 Visual Studio 프로젝트 템플릿을 설치하는 방법은 무엇입니까?

분류에서Dev

Visual Studio Code에서 Matplotlib 이미지가 표시되지 않음

분류에서Dev

Visual Studio 2013 커뮤니티 에디션에 MySql 데이터 원본 및 MySQL 프로젝트 템플릿이 표시되지 않음

분류에서Dev

새 MVC 5 앱 템플릿이 실행되지 않음

분류에서Dev

WinForms 앱이 Visual Studio 외부에서 실행되지 않음

분류에서Dev

Drupal 7 Webform 이메일 템플릿에 CSS가 적용되지 않음

분류에서Dev

XSL이 템플릿을 올바르게 적용하지 않음

분류에서Dev

MVVM 라이트 스 니펫은 Visual Studio에서 라이브 템플릿으로 나타나지 않습니다.

분류에서Dev

Visual Studio의 Docker를 통해 실행되는 애플리케이션 내에서 Keyvault가 작동하지 않음

분류에서Dev

VS2019 사용자 지정 템플릿이 표시되지 않음

분류에서Dev

SendGrid 이메일 템플릿 스타일이 적용되지 않음

분류에서Dev

Django 템플릿에 이미지를 표시 할 수 없음 (ImageField 사용)

분류에서Dev

MEDIA_URL 이미지가 템플릿에 표시되지 않음

분류에서Dev

Twitter 부트 스트랩 템플릿에 이미지가 표시되지 않음

Related 관련 기사

  1. 1

    Visual Studio 2015 업데이트 2에 유니버설 Windows 템플릿이 표시되지 않음

  2. 2

    Visual Studio 2013에 설치된 템플릿이 없음

  3. 3

    MVC4가 설치되어 있지만 Visual Studio 2010에서 MVC4 템플릿이 표시되지 않음

  4. 4

    XNA Game Studio 4.0이 설치된 템플릿에 표시되지 않습니다.

  5. 5

    Visual Studio 2015 용 SQL Server 데이터 도구를 설치 한 후 BI 템플릿이 없음

  6. 6

    Visual Studio Cordova 도구 서명 릴리스 APK '앱이 설치되지 않음'

  7. 7

    템플릿 .Net Core가 Visual Studio 2015를 표시하지 않음

  8. 8

    Visual Studio 2019에서 C ++ 템플릿 기능이 작동하지 않음 [오류 2668]

  9. 9

    웹용 Visual Studio 2013이 설치되었지만 시작 메뉴에 없음

  10. 10

    웹용 Visual Studio 2013이 설치되었지만 시작 메뉴에 없음

  11. 11

    Shopify의 템플릿 접미사 섹션에 사용자 지정 템플릿이 표시되지 않습니다.

  12. 12

    Visual Studio 2015 설치 후 PowerShell이 실행되지 않음

  13. 13

    Rails ActionMailer 템플릿 업데이트가 적용되지 않음

  14. 14

    kendo ui 그리드 열 템플릿이 적용되지 않음

  15. 15

    Visual Studio Cordova 앱이 Android 장치에서 업데이트되지 않음

  16. 16

    사용자 지정이 아닌 위치에 Visual Studio 프로젝트 템플릿을 설치하는 방법은 무엇입니까?

  17. 17

    Visual Studio Code에서 Matplotlib 이미지가 표시되지 않음

  18. 18

    Visual Studio 2013 커뮤니티 에디션에 MySql 데이터 원본 및 MySQL 프로젝트 템플릿이 표시되지 않음

  19. 19

    새 MVC 5 앱 템플릿이 실행되지 않음

  20. 20

    WinForms 앱이 Visual Studio 외부에서 실행되지 않음

  21. 21

    Drupal 7 Webform 이메일 템플릿에 CSS가 적용되지 않음

  22. 22

    XSL이 템플릿을 올바르게 적용하지 않음

  23. 23

    MVVM 라이트 스 니펫은 Visual Studio에서 라이브 템플릿으로 나타나지 않습니다.

  24. 24

    Visual Studio의 Docker를 통해 실행되는 애플리케이션 내에서 Keyvault가 작동하지 않음

  25. 25

    VS2019 사용자 지정 템플릿이 표시되지 않음

  26. 26

    SendGrid 이메일 템플릿 스타일이 적용되지 않음

  27. 27

    Django 템플릿에 이미지를 표시 할 수 없음 (ImageField 사용)

  28. 28

    MEDIA_URL 이미지가 템플릿에 표시되지 않음

  29. 29

    Twitter 부트 스트랩 템플릿에 이미지가 표시되지 않음

뜨겁다태그

보관