我正在 Docker 容器上运行 netmaker,它是 WiredGuard 网状 VPN 服务,我需要从 Docker 容器访问端口 9981,以便我可以通过我的 WiredGuard WAN 访问端口 9981。
托管 Netmaker 的 VPS 上的端口 9981 是开放的,但无法从 Docker 容器内访问。我一直在尝试解决这个问题,但无济于事,现在我束手无策了。
有人建议我将这一行添加到我的docker容器文件中,但这却导致了一个又一个的错误-
PORT_FORWARD_SERVICES="127.0.0.1:9981:9981"
请有人帮忙吗?
答案1
你试过Docker 文档? 端口转发是 Docker 中相当标准的功能。
在正常的 CLI 语法中,您可以添加:
-p <host-port>:<container-port>
这是映射端口 443 的示例命令:
docker run -d \
--name=nextcloud \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-p 443:443 \
-v /path/to/appdata:/config \
-v /path/to/data:/data \
--restart unless-stopped \
lscr.io/linuxserver/nextcloud:latest
因此您需要添加-p 9981:9981
到用于运行容器的命令中。
如果您使用 Docker Compose,也会有类似的语法(但由于您没有指定,我认为情况并非如此)。