Переадресация портов на экземпляр докера для rdp

Я установил докер на моей машине. На контейнере Ubuntu, который я использую, я установил все необходимое для удаленного рабочего стола через RDP. (например, xrdp,ightvncserver и т. д.). Даже удаленный рабочий стол с моего хоста на экземпляр докера работает нормально.

Теперь предположим, что я пытаюсь выполнить удаленный рабочий стол компьютера с другого удаленного компьютера. Могу ли я так или иначе настроить свою хост-машину так, чтобы она перенаправляла любое входящее соединение rdp на мой порт rdp экземпляра докера?

Другими словами, как я могу выполнить rdp с удаленного хоста на экземпляр Docker-контейнера моего целевого хоста?

2 ответа

Это должно сделать это, я не знаком с 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

Похоже, вы хотите начать свой контейнер с помощью -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...]
Другие вопросы по тегам