我正在开发一个项目,该项目应该使用 UPnP 扫描我的网络,因为我只需要发现媒体设备(如智能电视)
我使用node-ssdp包制作了Node.js应用程序(https://www.npmjs.com/package/node-ssdp)。该应用程序在本地运行良好,我现在尝试在 Docker 容器上运行该应用程序,这就是我遇到的一些问题,因为我是 Docker 新手...
我在 Windows 机器上运行它。当我使用 network_mode: host 运行 Docker 容器时,我希望容器能够访问主机的网络。但是,容器似乎无法访问我的主机(我的笔记本电脑)的 WLAN 网络。
这是用于构建 Docker 映像的 Dockerfile 的一部分:
FROM node:14
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 4000
CMD [ "node", "app.js" ]
这是我用来运行容器的 Docker Compose 文件:
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
network_mode: host
您知道为什么这不起作用,或者我怎样才能使容器访问我的网络?
作为官方文件这里.
主机网络驱动程序仅适用于 Linux 主机,不适用于 适用于 Mac 的 Docker Desktop、适用于 Windows 的 Docker Desktop 或 适用于 Windows Server 的 Docker EE