Windows Docker 安裝

Docker 並非是一個通用的容器工具,它依賴於已存在並運行的 Linux 內核環境。

Docker 實質上是在已經運行的 Linux 下製造了一個隔離的文件環境,因此它執行的效率幾乎等同於所部署的 Linux 主機。

因此,Docker 必須部署在 Linux 內核的係統上。如果其他係統想部署 Docker 就必須安裝一個虛擬 Linux 環境。

在 Windows 上部署 Docker 的方法都是先安裝一個虛擬機,並在安裝 Linux 係統的的虛擬機中運行 Docker。

Win10 係統

Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作係統上的官方安裝方式,這個方法依然屬於先在虛擬機中安裝 Linux 然後再安裝 Docker 的方法。

Docker Desktop 官方下載地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows

注意:此方法僅適用於 Windows 10 操作係統專業版、企業版、教育版和部分家庭版!

安裝 Hyper-V

Hyper-V 是微軟開發的虛擬機,類似於 VMWare 或 VirtualBox,僅適用於 Windows 10。這是 Docker Desktop for Windows 所使用的虛擬機。

但是,這個虛擬機一旦啟用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本將無法使用!如果你必須在電腦上使用其他虛擬機(例如開發 Android 應用必須使用的模擬器),請不要使用 Hyper-V!

開啟 Hyper-V

程序和功能

啟用或關閉Windows功能

選中Hyper-V

也可以通過命令來啟用 Hyper-V ,請右鍵開始菜單並以管理員身份運行 PowerShell,執行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

安裝 Docker Desktop for Windows

點擊 Get started with Docker Desktop,並下載 Windows 的版本,如果你還沒有登錄,會要求注冊登錄:

運行安裝文件

雙擊下載的 Docker for Windows Installer 安裝文件,一路 Next,點擊 Finish 完成安裝。

安裝完成後,Docker 會自動啟動。通知欄上會出現個小鯨魚的圖標,這表示 Docker 正在運行。

桌邊也會出現三個圖標,如下圖所示:

我們可以在命令行執行 docker version 來查看版本號,docker run hello-world 來載入測試鏡像測試。

如果沒啟動,你可以在 Windows 搜索 Docker 來啟動:

啟動後,也可以在通知欄上看到小鯨魚圖標:

如果啟動中遇到因 WSL 2 導致地錯誤,請安裝 WSL 2

安裝之後,可以打開 PowerShell 並運行以下命令檢測是否運行成功:

docker run hello-world

在成功運行之後應該會出現以下信息:


win7、win8 係統

win7、win8 等需要利用 docker toolbox 來安裝,國內可以使用阿裏雲的鏡像來下載,下載地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

安裝比較簡單,雙擊運行,點下一步即可,可以勾選自己需要的組件:

docker toolbox 是一個工具集,它主要包含以下一些內容:

  • Docker CLI - 客戶端,用來運行 docker 引擎創建鏡像和容器。
  • Docker Machine - 可以讓你在 Windows 的命令行中運行 docker 引擎命令。
  • Docker Compose - 用來運行 docker-compose 命令。
  • Kitematic - 這是 Docker 的 GUI 版本。
  • Docker QuickStart shell - 這是一個已經配置好Docker的命令行環境。
  • Oracle VM Virtualbox - 虛擬機。

下載完成之後直接點擊安裝,安裝成功後,桌邊會出現三個圖標,如下圖所示:

點擊 Docker QuickStart 圖標來啟動 Docker Toolbox 終端。

如果係統顯示 User Account Control 窗口來運行 VirtualBox 修改你的電腦,選擇 Yes。

$ 符號那裏可以輸入以下命令來執行。

$ docker run hello-world
 Unable to find image 'hello-world:latest' locally
 Pulling repository hello-world
 91c95931e552: Download complete
 a8219747be10: Download complete
 Status: Downloaded newer image for hello-world:latest
 Hello from Docker.
 This message shows that your installation appears to be working correctly.

 To generate this message, Docker took the following steps:
  1. The Docker Engine CLI client contacted the Docker Engine daemon.
  2. The Docker Engine daemon pulled the "hello-world" image from the Docker Hub.
     (Assuming it was not already locally available.)
  3. The Docker Engine daemon created a new container from that image which runs the
     executable that produces the output you are currently reading.
  4. The Docker Engine daemon streamed that output to the Docker Engine CLI client, which sent it
     to your terminal.

 To try something more ambitious, you can run an Ubuntu container with:
  $ docker run -it ubuntu bash

 For more examples and ideas, visit:
  https://docs.docker.com/userguide/