Docker容器无法访问本地网络设备



我正在Docker容器中运行一个Home Assistant实例,我正在处理连接到本地设备的集成。

我的Python看起来是这样的,我直接在我的Windows机器上测试过,它运行和连接得很好

if self.session is None:
self.session = aiohttp.ClientSession()
self._close_session = True
try:
async with async_timeout.timeout(self.request_timeout):
response = await self.session.request(method, url, json=data)
LOGGER.info(response)

但是,当在容器中运行此程序时,它无法连接。我的Windows机器的IP是192.168.1.174,我尝试连接的设备的IP是192.168.1.190。我还尝试将容器连接到带有192.168.1.0/24子网的Docker网络,这为我的容器提供了192.168.1.2的IP,但它仍然无法访问设备。

我现在不知道问题出在哪里。有什么建议吗?

如果您在容器内,并试图使用URL访问本地设备,则容器使用的基本映像必须能够将主机名解析为IP,否则它将无法连接,因为本地设备无法解析为IP

确保进入集装箱并运行

host google.com 

这应该被解析为一个IP,否则你将添加该功能

相关内容

最新更新