我已经在我的计算机上安装了 docker。在我使用的 ubuntu 容器上,我已经安装了通过 RDP 进行远程桌面所需的所有东西。(如 xrdp、tightvncserver 等)。甚至从我的主机到 docker 实例的远程桌面都可以正常工作。
现在假设我正尝试从另一台远程计算机远程桌面访问主机。我能否配置我的主机,以便它将任何传入的 rdp 连接转发到我的 docker 实例 rdp 端口?
换句话说,我如何从远程主机通过 rdp 连接到目标主机的 docker 容器运行实例?
答案1
这应该可以做到,我不熟悉 Docker 及其配置,但这应该可以把数据传送到你想要的地方。
iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 10.10.0.5:3389
iptables -t nat -A POSTROUTING -p tcp -d 10.10.0.5 --dport 3389 -j SNAT --to-source 192.168.0.2
答案2
听起来你想使用启动你的容器-p
docker run -p 3389 yourimage
从docker run --help
:
-p, --publish list Publish a container's port(s) to the host (default [])
如果你将软件安装到正在运行的容器中(而不是使用 Dockerfile),那么你实际上以错误的方式使用了 docker。然后,你首先必须从正在运行的容器中创建一个映像,然后启动该映像:
docker commit [OPTIONS] yourcontainer yourimage
docker run -p 3389 [OPTIONS] yourimage [COMMAND] [ARG...]