修改 Windows 上 Linux Container (MobyLinuxVM) 的 bip 設定

最近幾篇筆記都是跟 ip 設定有關,主要是因為 docker 預設分配 container 使用的 ip 區段與公司測試環境衝突,造成 docker host 與 container 無法存取測試環境的 server (詳細原因請參考 docker 無法連線至特定網段 (172.17.x.x))

之前分別介紹過 linux container 與 windows container 的設定,今天就來分享一下 Windows 上的 Linux container 該如何設定

前提設定

有兩篇筆記是必需先看過的

  1. Linux 上修改 container 預設 IP 設定

    docker 無法連線至特定網段 (172.17.x.x)

  2. 使用 docker for windows 來快連切換 linux container 與 windows container

    在 Windows Server 2016 上使用 Linux container

如何設定 Windows 上的 linux container

經過上述兩篇文章,相信對於在 linux 環境是透過修改 /etc/docker/daemon.json 與如何透過 docker for windows 在 windows 使用 linux container 有些概念,原則上我們就是要去修改 Windows 上的 linux 基礎環境設定,其中 windows 上的 linux 是透過 Hyper-V 建立出來的虛擬環境,如果這個虛擬環境 - MobyLinuxVM 行為跟一般 linux 相同也就沒事但難處就是這個虛擬環境 - MobyLinuxVM 已經被 docker 封裝過,我們無法直接存取其中的資料內容,當然也就修改不到 /etc/docker/daemon.json,就來看看該如何調整吧

  1. 開啟 docker for windows 的設定

    docker for windows 圖示按右鍵–> Settings…

    1setting

  2. 進入 Daemon 選單

    2daemon

  3. 切換至 Advanced 模式

    Basic 切換至 Advanced 就可以編輯 config 內容,相關參數就是 daemon.json 的用法,詳細內容可以參考官方說明 dockerd

    3ADVANCED

  4. 加上 bip 設定

    • 具有基本格式檢查

      4errorcheck

    • 填寫完成後按下 Apply

      5apply

    • 會自動重啟 docker service 以套用設定

      6restarting

  5. 修改成功

    container 內部 ip 就會依指定的範圍來分配了

    7result

心得

修改內容很少,但我跟同事查了好多資料一直找不到可用的解法,偶然間才發現的設定,所以動手紀錄一下以資留念

參考資訊

  1. docker 無法連線至特定網段 (172.17.x.x)
  2. 在 Windows Server 2016 上使用 Linux container
  3. dockerd