目錄
-
概要
博客使用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
建議大家看教程結合官方文檔來看,原汁原味,雖然有時會有坑,但是至少比較官方和中立,不會帶歪了。