이 게시물은 기존 ASP.NET MVC 5 또는 ASP.NET Web Forms 응용 프로그램을 Windows 컨테이너로 마이그레이션하는 프로세스에 대해 설명합니다.Windows 컨테이너에서 기존 .NET Framework 기반 응용 프로그램을 실행하면 앱을 변경할 필요가 없습니다.Windows 컨테이너에서 앱을 실행하려면 앱이 포함 된 Docker 이미지를 만들고 컨테이너를 시작하십시오.
먼저 프로그램 및 기능에서 컨테이너 옵션을 활성화해야합니다.
이 기능을 활성화하면Docker for Windows를 다운로드하여 설치해야합니다.Docker를 설치하면 Visual Studio에서 새 ASP.NET MVC 프로젝트를 만들 수 있습니다.프로젝트를 만든 후에Dockerfile는 프로젝트 응용 프로그램 루트에이름을가진 새 파일을 만들 수 있습니다.Dockerfile을 만든 후에는 다음 줄을 추가해야합니다.
FROM microsoft/aspnet COPY ./bin/Release/PublishOutput /inetpub/wwwroot
다음으로 프로젝트를 게시해야합니다. 지금은 파일 시스템에 게시하고 있습니다.다른 위치에 게시하는 경우 위치 대신 해당./bin/Release/PublishOutput위치를 제공해야합니다.완료되면 docker build 명령을 실행해야합니다. 그러면 ASP.NET 앱을 실행하는 이미지를 만드는 데 도움이됩니다.
docker build -t mvchelloworld .
-t 인수는 이미지를 식별하는 데 도움이되는 태그 이름을 지정합니다.이미microsoft/aspnet이미지를이미 다운로드 했으므로빌드 명령이 매우 빠르게 실행되고 이미지가 빌드됩니다.처음으로하는 경우 시간이 걸릴 수 있습니다.
이제docker images 명령을실행하면시스템의 모든 도커 이미지가 표시됩니다.
다음으로 컨테이너를 시작해야합니다. 다음 명령을 사용하여 컨테이너를 수행 할 수 있습니다.
docker run -d --name mvchelloworld mvchelloworld
이-d 인수는 이미지를 분리 모드로 실행하는 데 도움이되고, 도커 이미지는 셸에서 분리 된 상태로 실행됩니다.--name 인수는 컨테이너에 이름을 부여하는 데 도움이됩니다.기본 aspnet 이미지는 이미 포트 80에서 수신 대기하도록 컨테이너를 구성했습니다.IIS를 실행중인 경우 IIS가 중지되었는지 확인하십시오. 그렇지 않으면 컨테이너가 시작되지 않을 수 있습니다.
성공하면 고유 식별자가됩니다.현재 Windows 컨테이너 릴리스에서는 http : // localhost를 찾아 볼 수 없습니다.이것은 WinNAT에서 알려진 동작이며 향후에 해결 될 것입니다.그것이 해결 될 때까지 컨테이너의 IP 주소를 사용해야합니다.다음 명령을 사용하여 도커 컨테이너의 IP 주소를 식별 할 수 있습니다.