避免 Docker 自動使用 172.x.x.x 這類網段來建立虛擬網路

要避免 Docker 自動使用 172.x.x.x 這類網段來建立虛擬網路,有兩個層次的設定方式:


🛠️ 方法一:修改 Docker Daemon 預設網段

Docker 在啟動時會建立一個預設的 docker0 bridge,通常使用 172.17.0.0/16
你可以在 /etc/docker/daemon.json 中指定一個新的網段:

{
  "bip": "192.168.250.1/24"
}
  • bip (Bridge IP) 用來設定 docker0 的 IP 與子網段。
  • 這樣 Docker 就不會再用 172.x.x.x,而是改用 192.168.250.0/24
    修改後需要重啟 Docker:
sudo systemctl restart docker

🛠️ 方法二:建立自訂網路時指定子網段

如果你不想改全域預設,只要在建立網路時指定即可:

docker network create \
  --subnet=192.168.200.0/24 \
  --gateway=192.168.200.1 \
  my_custom_net
  • 這樣新建的網路就會用 192.168.200.x,而不是 172.x.x.x
  • 啟動容器時指定網路:
    docker run -d --network=my_custom_net myapp
    

📌 注意事項

  • 請選擇 RFC1918 私有網段,避免與外部網段衝突:
    • 10.0.0.0/8
    • 192.168.0.0/16
    • 或者挑選 172.16.0.0/12 中不會衝突的範圍
  • 修改預設網段後,舊容器可能需要重新建立。
  • 如果你有多個自訂網路,建議用不同子網段,避免重疊。

👉 你是想要 全域禁止 Docker 使用 172.x.x.x(改掉預設 docker0),還是只要在 新建網路時避免?我可以幫你整理一個「全域 vs 單一網路」的對照表,讓你快速判斷該怎麼做。

Also See

12
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
1:23 AM - December 07, 2025
8:20 PM - December 06, 2025