文章目錄
Windows 10 如何啟用 docker 功能
Windows 10 雖然不是原生支援 Windows Server container(透過 Hyper-V 支援),執行速度較慢,但 Microsoft 在 Windows 10 上將 windows container 與 Linux container 包裝得非常方便。只要滑鼠動幾下就可以在不需人為介入下使用 Hyper-V 建立 Windows Server container 及 Linux container ,使用者體驗很好,反而在 Windows Server 2016 上還需要手動使用 Hyper-V 安裝 Linux 後才能建立 Linux container (2017⁄5 當下現況,Microsoft 已經對外公布會解決這個問題,只是沒說什麼時候而已XD),複雜度遠遠超過 Windows 10,加上本來對 Linux 就不熟悉,要完全搞定這些環境是個非常大的挑戰,在兩方優劣比較下,決定暫時犧牲效能先求可以正常使用就好,畢竟重點是 container 而不是 os,立馬來看看該如何讓 Windows 10 可以使用 docker 吧
必要條件
Windows 10 Anniversary Edition(年度版) 或是 Creators Update (Professional or Enterprise).
如果沒有的話可以至微軟官方 下載 Windows 10 光碟映像 (ISO 檔案)
確認 Windows 10 的 OS 組建版本需要 14393.222 以上
開啟 commnad prompt 或 Windows PowerShell 執行
winver.exe
啟用容器功能
啟用 Hyper-V
- 使用管理者權限開啟 Windows PowerShell
執行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
提示重新啟動電腦(可以等 container 功能啟用後再重新啟動即可)
啟用 container
- 使用管理者權限開啟 Windows PowerShell
執行
Enable-WindowsOptionalFeature -Online -FeatureName containers -All
重新啟動電腦
- 或是執行
Restart-Computer -Force
- 或是執行
安裝 Docker for Windows
執行
InstallDocker.msi
安裝 Docker for Windows- 安裝完成後請重新開機
確認安裝狀態
開啟 commnad prompt 或是 Windows PowerShell ,執行
docker info
建立 container
系統圖示列可在 Windows conatiner 與 Linux container 間自行切換
切換需要一點時間,畢竟背景會默默啟動 Hyper-V
- to Linux container
- to windows container
可以透過 commnad prompt 或是 Windows PoerShell 來切換
commnad prompt
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
Windows PoerShell
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon`
如果使用錯誤 os 的 image 會有提示
- Linux use windows image
- windows use Linux image
Linux container
docker run -it --name centos centos
Windows Server container
docker run -it microsoft/nanoserver cmd
心得
Windows 因為系統本身大小的問題,在取得 base image 或是建立 container 時執行速度都比 Linux 慢上不少,除此之外整體使用體驗與 Linux 環境幾乎相同,不由得佩服 Microsoft 的決心,Windows container 非常值得期待,想必會在 .Net 開發界有不小的衝擊
參考資訊
文章作者 Yowko Tsai
上次更新 2021-10-08
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。