.NetCore + Docker在Windows系統中的安裝與部署


1.引言

在具體實操前,首先介紹一下.NetCore及docker的相關概念。

1.1什么是.NetCore

.NetCore是適用於 windows、linux 和 macos 操作系統的免費、開源托管的計算機軟件框架,是微軟開發的第一個官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的應用程序開發框架 (Application Framework)。使用.NetCore,我們可以:

  • 建置 Web 應用程序和服務、IoT 應用和移動后端。

  • 能夠在 Windows、macOS 和 Linux 上進行開發和運行。部署到雲或本地。

  • 在 .NET Core 或 .NET Framework 上運行。

  • 能夠在 IIS、Nginx、Apache、Docker 上進行托管或在自己的進程中進行自托管我們的應用。

關鍵詞:跨平台

1.2 什么是Docker

Docker 是一個開源的應用容器引擎,可以輕松的為任何應用創建一個輕量級的、可移植的、自給自足的容器。開發者在本地編譯測試通過的容器可以批量地在生產環境中部署,包括VMs(虛擬機)、bare metal、OpenStack 集群和其他的基礎應用平台。

2. 安裝前的准備

啟用Hyper-V。打開【控制面板】》【程序】》【啟用或關閉Windows功能】,勾選Hyper-V節點下所有的選項,點擊【確定】並重啟計算機。

3. Docker安裝

3.1 Docker下載

這里主要是下載docker for windows版本,下載鏈接:https://www.docker.com/products/docker-desktop

3.2 Docker安裝

(1)運行下載好的【Docker Desktop Installer.exe】文件,只勾選【Add shortcut to desktop】選項,點擊【確定】完成安裝。

(2)檢查是否安成功,啟動docker並打開cmd命令窗口,輸入docker -v,如安裝成功則能看到很隨意的版本號。

(3)配置鏡像加速器,登錄阿里雲,在控制台找到【鏡像中心】》【鏡像加速器】,copy加載器地址。

 

(4)在狀態欄右鍵docker打開settings窗口,切換到【Daemon】選項頁,把(3)的地址復制到【Regisry mirrors】輸入框中。

(5)共享磁盤。在settings里切換到【Shared Drives】選項頁,勾選要共享的磁盤。

4.新建.NetCore Web應用程序

(1)啟動VS創建一個Web應用程序,選擇Core2.2版本

  注意:【啟用Docker支持】選項不勾選,后面手動進行配置

(2)發布網站。解決方案右鍵選擇【發布】,選擇文件,選擇默認就可以。

 

 

 

5.創建Docker Images

(1)導航到剛剛發布的目錄,這里為~\DockerDemo\DockerDemo\bin\Release\netcoreapp2.2\publish,新建Dockerfile文件(沒有后綴)。輸入如下內容:

  1.  
    FROM mcr.microsoft.com/dotnet/core/aspnet: 2.2-stretch-slim AS base
  2.  
    WORKDIR /app
  3.  
    COPY . .
  4.  
    EXPOSE 5000
  5.  
    ENTRYPOINT [ "dotnet", "DockerDemo.dll"]

(2)打開cmd窗口,cd到publish路徑下,輸入docker build -t dockerdemo001 .(注意最為英文句號,表示在當前目錄下搜索Dockerfile文件)

輸入docker images,檢查是否創建成功 

(3)運行。輸入:docker run --name dockerdemo001 -p 5000:80 -d dockerdemo001

如出現如下http://[::]:80則代表成功,如沒有繼續輸入:docker run dockerdemo001

 

(4)在瀏覽器輸入http://localhost:5000,恭喜已成功運行

6.結束語

初次使用docker,由於對docker認識還不夠,所以在整個事例驗證過程中磕磕碰碰、遇到無數的坑......

 

 

 

 

出處:https://blog.csdn.net/lynchee/article/details/102869165


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM