如何更改 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 以获取索引文件。
我试过以下方法:
- 在我的全局 daemon.json 文件中设置“bip”,如下所示:
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": true,
"experimental": false,
"dns": ["8.8.8.8"],
"bip": "192.168.1.5/24"
}
这不起作用,因为在添加最后一个“bip”行后,Docker 桌面重新启动失败,进一步启动失败,启动后端时超时。这方面的错误日志没有帮助。
- 编辑解决方案中的module.json文件,像这样:
"buildOptions": [ "--build-arg bip=192.168.1.5/24" ],
这个好像完全没有效果。容器中的IP地址保留在172.xspace.
知道如何为我的 docker 构建容器自定义 IP 地址吗?
感谢您的帮助。
出于某种原因,我问题中的第二种方法在重新启动几次后开始起作用。我不确定为什么它一开始不起作用,但现在一切正常。
我正在使用 Visual Studio 2019 在 Win 10 上开发 Azure IoT Edge 模块。为了实际构建模块,为每个模块的每个构建创建一个 docker 容器。我正在尝试更改创建的容器的 IP 地址,因为它当前默认为 public 范围内的 172.x 地址。我需要它是私有 IP,这样我们的 Symantec AV 软件就不会认为来自它的请求是外部的。 dotnet restore
失败,因为 SEP 正在阻止访问 Web 以获取索引文件。
我试过以下方法:
- 在我的全局 daemon.json 文件中设置“bip”,如下所示:
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": true,
"experimental": false,
"dns": ["8.8.8.8"],
"bip": "192.168.1.5/24"
}
这不起作用,因为在添加最后一个“bip”行后,Docker 桌面重新启动失败,进一步启动失败,启动后端时超时。这方面的错误日志没有帮助。
- 编辑解决方案中的module.json文件,像这样:
"buildOptions": [ "--build-arg bip=192.168.1.5/24" ],
这个好像完全没有效果。容器中的IP地址保留在172.xspace.
知道如何为我的 docker 构建容器自定义 IP 地址吗?
感谢您的帮助。
出于某种原因,我问题中的第二种方法在重新启动几次后开始起作用。我不确定为什么它一开始不起作用,但现在一切正常。