The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

如何在 Windows 10 同時安裝與執行 Windows 與 Linux 容器 (Docker)

自從將我的 Windows 10 升級到周年更新後,發現有好多好玩的功能可以用,前陣子在玩 WSL (Windows Subsystem for Linux) ( Bash on Windows ),而最近則是把玩 Windows Containers 容器技術。今天這篇文章,主要想分享如何讓大家在自己的 Windows 10 電腦中同時安裝 Windows Containers 與 Linux Containers 環境,讓你在同一台開發主機上可以同時享受真正跨平台的容器支援。

先給各位看看我已經安裝好的環境,在安裝好 Docker for Windows 之後,螢幕右下角會出現一個 Docker 圖示的系統匣 (System Tray),並顯示著 Docker is running

只要你安裝的是 Docker for Windows Beta channel 版本,你就會在 Docker 右鍵選單中發現一個之前沒看過的小功能,可以幫你在 Linux containers 與 Windows containers 之間快速切換��

如果你開啟命令提示字元視窗,你輸入 docker version 命令執行,即可得知目前透過 Docker CLI 連接的 Docker Server 的架構為何。

以下圖為例,你會看到 OS/Arch 顯示 linux/amd64 就代表你正在執行 Linux Containers,也就是 Docker for Windows 內建的那套。

如果你切換到 Windows containers 的話,輸入 docker version 命令執行就會看到 Docker CLI 連接的 Docker Server 的架構變成 windows/amd64,這也就是 Windows 10 周年更新內建的 Windows Containers 服務。

如果要透過命令列工具進行切換,也可以輸入以下指令:

Command Prompt

"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

PowerShell

& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

至於 Windows Containers 與 Linux Containers 到底有多大差異呢?其實幾乎 99% 都是相同的,從命令列使用方式到 Docker API 都相容,管理工具也可以共用,比較大的差別就在於他們的作業系統核心不同,Linux Containers 只能跑 Linux 環境下的應用程式,而 Windows Containers 只能執行 Windows 環境下的應用程式,如此而已。

 

同時安裝兩種不同平台的容器服務

如果要安裝 Docker for Windows ( Linux Containers ),你可以參考 Get started with Docker for Windows - Docker 這份文件。

如果要安裝 Windows Containers,你可以參考 Windows 10 上的 Windows 容器 這份文件。

不過,真的要安裝到順暢,我這邊有個建議的安裝步驟:

  1. 準備 Windows 10 專業版或企業版 (64-bits) 的作業系統,並更新到周年更新版本。
    • 啟用 Hyper-V 服務
  2. 安裝 Docker for Windows,而且一定要安裝 Beta channel 的版本喔! (重要)
    • 安裝過程非常順利,一直下一步就可以自動裝好了。
  3. 切換至 Windows containers (如下圖示),過程中會自動幫你裝好必要的 Windows 10 容器服務。
    image
  4. 重開機
  5. Windows 10 上的 Windows 容器 這份文件的第 3 步【3.安裝基礎容器映像】開始設定即可。

 

相關連結