close

傳統在部屬 windows docker 開發環境時,都會安裝 Docker Desktop for Windows,檔案肥大又限制多,有沒有更輕量的方式呢?

答案是有的! 官方有提供 https://github.com/boot2docker/boot2docker 讓 User 快速透過虛擬機建置 Docker 環境,本篇以 VirtualBox 為例,教你如何部屬輕量化的 docker 開發環境

 

一、建立開發環境

1. 首先要安裝一套虛擬機軟體,這邊以 VirtualBox 為例

2. 建立 C:\docker 目錄,並且加入到 Path 環境變數中,未來所有 docker 相關執行檔皆放置於此

3. 從 https://github.com/docker/machine/releases 載執行檔並重新命名為 docker-machine.exe

4. 執行 docker-machine create --driver "virtualbox" default

這時會從 https://github.com/boot2docker/boot2docker 上下載 boot2docker.iso,並在 VirtualBox 上建立一個虛擬機器,使用 boot2docker.iso 開機

補充:要使用其他的虛擬機器,可以參考 https://docs.docker.com/machine/drivers/

5. 執行 docker-machine env default 並依照上面指示設定環境變數 (可以直接使用 SETX 設定永久環境變數)

e.g. 

SETX DOCKER_TLS_VERIFY 1
SETX DOCKER_HOST "tcp://192.168.99.101:2376"
SETX DOCKER_CERT_PATH "%userprofile%\.docker\machine\machines\default"
SETX DOCKER_MACHINE_NAME default
SETX COMPOSE_CONVERT_WINDOWS_PATHS true

6. 這時可以使用 docker-machine ssh 進入到 docker 環境裡了

 

 

 

二、從 HostOS 操作 docker 虛擬機器

1. 要在外部操作虛擬機器,需要另外下載相關的執行檔由於之前的步驟已經設定過連線至 docker 虛擬主機的環境變數,所以直接下載執行檔到 c:\docker 用即可

docker:從 https://download.docker.com/components/engine/windows-server/index.json 上取得下載清單,然後下載下來用

docker-compose: https://github.com/docker/compose/releases

 

補充:如果這時候想從 WSL 控制 docker 也是可以的

apt install docker-ce-cli
cp -rf /mnt/c/users/<username>/.docker ~/.docker
export DOCKER_HOST=tcp://192.168.99.100:2376
export DOCKER_CERT_PATH=~/.docker/machine/machines/default
export DOCKER_TLS_VERIFY=1

上面需要修改的地方再自行變通囉

 

說明:

本篇部屬的方式也適用於 MacOS、Linux,觀念雷同,唯獨執行檔取得方式不同,可自行 Google 取得方式

上述下載執行檔的方式可直接透過 choco 套件快速安裝

choco install virtualbox -y --params "/ExtensionPack"
choco install docker-machine -y
choco install docker-cli -y
choco install docker-compose -y

 

難疑排解 一:出現 Docker machine "xxx" already exists,但是從 VirtualBox 根本沒這個名稱的 VM 啊?

移除 %USERPROFILE%\.docker 目錄即可

難疑排解 二:遇到建好後無法與 Docker VM 通訊,檢查 VM 用的 Network interface 拿到 169 開頭的 IP

可能其他介面有使用到 192.168.99.100/24,這是 docker-machine 固定通訊用的 IP 和網段,如果無法排除就在 ENV 設定別的網段來用

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AwEi 的頭像
    AwEi

    毛哥資訊日誌

    AwEi 發表在 痞客邦 留言(0) 人氣()