Windows 系統如何安裝 Docker


 

1

docker 是基於 unix 開發的系列工具,所以在 windows 上安裝 docker 非常容易出現環境不兼容的問題。

如果 windows 版本是 pro,一般是可以直接安裝 docker desktop 的。

但是 windows home 版本不行。有 2 種方式解決,第一種方式是通過 docker toolbox, 第二種方式通過 wsl2。本文介紹第一種方式。

步驟 1:

下載 docker toolbox。

阿里雲提供了鏡像,下載會比較快,直接訪問 http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 下載。

步驟 2:

檢查是否開啟了 windows 的虛擬化技術。

docker 安裝要開啟虛擬化docker 安裝要開啟虛擬化

步驟 3:

安裝 docker toolbox。

步驟 4:

啟動 (以管理員身份) Docker Quickstart Terminal

詳細過程可以參考官方文檔 Get started with Docker for Windows

當輸入 docker version 出現類似這樣就 OK 了。

docker versiondocker version

2

這里說幾個注意事項。

事項 1:

虛擬機報錯。

運行時可能會出現 default 虛擬機不能啟動的錯誤:

 The virtual machine 'default' has terminated unexpectedly during startup

這個錯誤一般是 virtualbox 版本不兼容的問題,單獨升級 virtualbox 軟件可以解決。

virtualbox 升級virtualbox 升級

事項 2:

配置加速鏡像。

官方源大陸訪問會比較慢, 一般需要設置成國內的鏡像。

鏡像加速地址可以參考這些:

在 docker toolbox 中配置鏡像:

docker-machine ssh default 

sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=鏡像加速地址 |g" /var/lib/boot2docker/profile 

exit 

docker-machine restart default

3

接下來說一下 docker toolbox 的執行流程。

當第一次啟動 Docker Quickstart Terminal 的時候,docker-machine 工具會通過 virtualbox 軟件安裝一個帶有 docker 的虛擬機。 所以執行的 docker 指令其實不是在 windows 系統上執行,而是在 virtualbox 的虛擬機上。

Docker Toolbox 流程Docker Toolbox 流程

實際上,我們可以通過建立多個 VM 來虛擬出多台電腦,並在不同的電腦上運行 docker。

docker-machine create 創建多個 VMdocker-machine create 創建多個 VM

docker-machine 只能在 virtualbox 上安裝 TinyCore-based Linux 發行版,如果你想在 windows 系統上模擬服務器系統比如 centos 或者 ubuntu, 也可以繞過 docker-machine , 使用 vagrant 安裝 VM。

docker-machine 和 vagrantdocker-machine 和 vagrant

4

運行 container.

接下來我們用 docker 去運行 nginx 服務。 因為上文我們介紹了,實際上 docker 是運行在 VM 上的,所以這里的示例我都繞開了 docker quickstart 這個工具,而是直接使用命令行。

首先,通過 docker-machine 或者 vagrant 登錄 VM

docker-machine ssh default

接下來,運行 nginx

docker container run --publish 7000:80 nginx

docker 會判斷 nginx 這個 image(程序) 是否存在,如果不存在會去 docker hub 下載,之后會創建 nginx 服務的一個容器。同時,會開放 default 虛擬機的 7000 端口,並且和 nginx 容器的 80 端口綁定。

docker container run 流程docker container run 流程

接下來,我們可以通過在虛擬機上用 ifconfig 得到 IP 地址,然后通過在本機瀏覽器輸入 vm_ip:port 的方式查看 nginx:

nginx 啟動成功nginx 啟動成功

更多文章請關注公號:雨哥寫 python.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM