概述Docker已經熱了有一兩年了,而且我相信這不是一個曇花一現的技術,而是一個將深遠影響我們日後開發和部署、運營應用系統的一種創新(很多人將其作為devops的一種非常重要的基石)。學習docker的最好方式,莫過於它的官方文檔 ,有興趣 的同學請參考 https://www.docker.com... ...
概述
Docker已經熱了有一兩年了,而且我相信這不是一個曇花一現的技術,而是一個將深遠影響我們日後開發和部署、運營應用系統的一種創新(很多人將其作為devops的一種非常重要的基石)。學習docker的最好方式,莫過於它的官方文檔 ,有興趣 的同學請參考 https://www.docker.com/what-docker
筆者最近在寫一個Office 365的集成和擴展應用開發的系列文章(https://aks.ms/office365devguide) ,其中的範例也將基於docker來部署。
準備
為了進行後續的實驗,請準備如下的環境
- 基本條件
- Windows 10 Enterprise, Professional, or Education
- 64-bit Processor with Second Level Address Translation (SLAT).
- CPU support for VM Monitor Mode Extension (VT-c on Intel CPU's).
- Minimum of 4 GB memory.
- Docker for Windows 請參考 https://docs.docker.com/docker-for-windows/ 和 https://docs.docker.com/docker-for-windows/install/
- Microsoft .NET Core SDK ,請參考 https://www.microsoft.com/net/core#windowscmd (我安裝的是最新的2.0 preview2)
動手實驗
- 打開Powershell
- 創建dotnet core mvc應用程式 dotnet new mvc –o mvcapp
- 切換到該目錄 cd mvcapp
- 還原包(如果是dotnet core 2.0,則可以跳過這個步驟) dotnet restore
- 發佈應用程式 dotnet publish –c release
- 在當前目錄下麵創建一個DOCKERFILE,內容如下
- 生成docker鏡像 docker build –t mvcapp .
- 運行docker鏡像 docker run –p 8000:80 –e “ASPNETCORE_URLS=http://+:80” mvcapp
FROM microsoft/dotnet:2.0.0-preview2-sdk
WORKDIR /app
COPY bin/release/netcoreapp2.0/publish .
ENTRYPOINT ["dotnet", "mvcapp.dll"]
以上命令如果不熟悉,請大家自行查看幫助。例如 dotnet new mvc –h 或者 docker build -h
如此這般之後,你就可以打開本機的瀏覽器,輸入http://localhost:8000 進行訪問了