傳統在部屬 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 設定別的網段來用
留言列表