NET Core 2.0 in Docker on Windows Containers

來源:互聯網
上載者:User

標籤:刪除   需要   container   publish   令行   互動   for   png   資訊   

安裝Docker for Windows  https://store.docker.com/editions/community/docker-ce-desktop-windows

要想將一個ASP.NET Core 網站部署到Docker,首先項目必須添加Docker支援,說白了就是產生Dockerfile,有兩種方式第一種是在建立項目的時候

還有一種方式就是通過項目右鍵→添加→Docker 支援

 這是添加Docker 支援後產生的Dockerfile

FROM microsoft/aspnetcore:2.0ARG sourceWORKDIR /appEXPOSE 80COPY  ${source:-obj/Docker/publish} .ENTRYPOINT ["dotnet", "WebApplication1.dll"]


點擊這個Docker按鈕,如果你本地沒有aspnetcore鏡像會先拉取這個鏡像,緊接著將Webapplication1這個Web應用程式Bulid成一個鏡像(Image),這個時候通過命令查看有兩個鏡像(Image)webapplication1和microsoft/aspnetcore 還有一個正在啟動並執行容器。

通過inspect查看容器的詳細資料

docker inspect 6fce4391165a

需要強調一點是上面的Dockerfile並不能直接拿到產生環境上用,而且一旦在VS裡停止調試以後網站將會不能訪問,我把剛才那個容器成為互動式容器不知道理解的對不對,先刪除剛才的容器和鏡像。

先發布一下我們的應用程式,如果發布到檔案系統預設應該是bin\Release\PublishOutpuy 這個路徑我就不改了,點擊發布。發布完成後將根目錄下的Dockerfile拷貝到發布目錄,並進行修改

FROM microsoft/aspnetcore:2.0WORKDIR /appEXPOSE 80COPY  . .ENTRYPOINT ["dotnet", "WebApplication1.dll"]

使用build命令手動建立鏡像,在發布目錄下開啟命令列視窗,執行下面的命令

docker build -t webapp:dev .

使用webapp鏡像建立兩個容器

兩個執行個體已經跑起來了,想要運行更多的執行個體run一下就行了。
上面兩個IP是容器的IP,一般都是容器的連接埠映射宿主機的連接埠,用宿主機IP:連接埠號碼去訪問,Nginx或HAProxy關聯每個宿主機:連接埠號碼,所以在建立容器的時候都會加個-p參數

docker run -p 8080:80 webapp:dev

 

NET Core 2.0 in Docker on Windows Containers

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.