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 的虛擬化技術。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-f61Jz48q-1589812911346)(https://i.loli.net/2020/05/16/R6l2Vh7EGXcxOQn.png)]

步驟 3:

安裝 docker toolbox。

步驟 4:

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

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

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

docker version

2

這裏說幾個注意事項。

事項 1:

虛擬機報錯。

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

 The virtual machine 'default' has terminated unexpectedly during startup

這個錯誤一般是 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 流程

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

docker-machine create 創建多個 VM

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

docker-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 流程

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

nginx 啓動成功

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章