如何更改 Docker 容器的 IP 地址以进行边缘模块开发

How to change IP Address of Docker container for Edge Module development

我正在使用 Visual Studio 2019 在 Win 10 上开发 Azure IoT Edge 模块。为了实际构建模块,为每个模块的每个构建创建一个 docker 容器。我正在尝试更改创建的容器的 IP 地址,因为它当前默认为 public 范围内的 172.x 地址。我需要它是私有 IP,这样我们的 Symantec AV 软件就不会认为来自它的请求是外部的。 dotnet restore 失败,因为 SEP 正在阻止访问 Web 以获取索引文件。

我试过以下方法:

  1. 在我的全局 daemon.json 文件中设置“bip”,如下所示:
{
  "registry-mirrors": [],
  "insecure-registries": [],
  "debug": true,
  "experimental": false,
  "dns": ["8.8.8.8"],
  "bip": "192.168.1.5/24"
}

这不起作用,因为在添加最后一个“bip”行后,Docker 桌面重新启动失败,进一步启动失败,启动后端时超时。这方面的错误日志没有帮助。

  1. 编辑解决方案中的module.json文件,像这样:
      "buildOptions": [ "--build-arg bip=192.168.1.5/24" ],

这个好像完全没有效果。容器中的IP地址保留在172.xspace.

知道如何为我的 docker 构建容器自定义 IP 地址吗?

感谢您的帮助。

出于某种原因,我问题中的第二种方法在重新启动几次后开始起作用。我不确定为什么它一开始不起作用,但现在一切正常。