目錄
-
概要
部落格使用Word發博,釋出後,排版會出現很多問題,敬請諒解。另外Word發博程式碼格式顯示凌亂,因此相關程式碼均使用圖片替代。可加群(.NET 1群:85318032)獲取原始文件。
什麼是Docker?Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,以及Windows Server 2016或Windows 10,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。
官方部落格:http://www.cnblogs.com/codelove/
相關開源庫地址:https://github.com/xin-lai
交流QQ群(.NET 1群):85318032
交流QQ群(Magicodes開源庫交流群):346487194
Nuget包地址:https://www.nuget.org/packages?q=magicodes
-
主要優勢
Docker的主要優勢有:
- 啟動快
- 便宜——開源,資源佔用小,幾乎沒有效能開銷
- 輕量靈活,便於遷移
- 具有一定的隔離性
- 便於構建自動化測試和持續整合環境(CI)以及所有允許橫向擴充套件的應用
- 旨在彈性計算,便於自動橫向擴充套件
其實,核心優勢在於便宜而且大大降低了部署的成本(金錢和時間)。
當然,Docker也有一些先天不足,但是這個不是本篇的內容。
-
在Windows Server上部署Docker
Windows Server 2016已經支援Docker技術,官方也給出了資料:
參考此連結大體上不會有問題,但是坑還是有一個大坑。
-
建議優先更新伺服器
使用PowerShell執行sconfig,然後選擇6,然後輸入A下載所有更新
- 安裝Docker
開啟提升的 PowerShell 會話並執行下列命令:
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
PowerShell 詢問是否信任包源"DockerDefault"時,鍵入 A 以繼續進行安裝。
這裡有一個坑就是,在第二步會提示"docker xx"檔案不存在,這裡需要記住檔名,然後從以下地址去下載:https://dockermsft.blob.core.windows.net/dockercontainer
比如提示" docker-17-03-1-ee.zip"不存在,則訪問 https://dockermsft.blob.core.windows.net/dockercontainer/docker-17-03-1-ee.zip進行下載。
下載完成之後,再執行命令:Install-Package -Name docker -ProviderName DockerMsftProvider
在執行過程中(切記是執行後,如果在執行前複製,程式會先刪除然後再處理),開啟目錄" C:\Users\Administrator\AppData\Local\Temp\2\DockerMsftProvider",將docker-17-03-1-ee.zip複製到此目錄下,此時你應該看到該目錄有個xx.tmp的臨時檔案。
-
重啟計算機。安裝完成後,重啟計算機。
Restart-Computer -Force
-
安裝 Windows 更新
sconfig
-
驗證
輸入 docker version
至此,Docker安裝完成。接下來,你可以下載一些Docker檔案來玩一玩了,比如執行:docker run microsoft/dotnet-samples:dotnetapp-nanoserver
這個例子會自動下載Docker檔案並執行,但是下載速度奇慢無比,希望你的可以下載成功。
接下來的入門,可以參考此文:
https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/quick-start-images
建議大家看教程結合官方文件來看,原汁原味,雖然有時會有坑,但是至少比較官方和中立,不會帶歪了。