На хосте запущен сервер - пусть будет порт 1234.
С хоста по localhost:1234 можно без проблем к нему подкл.
Однако из контейнера не выходит.
А если включить --net=host, то другие фичи данной проги в контейнере (клиента) перестают работать. Поэтому нужен более аккуратный вариант.
Уже устанавливать в докера iptables
docker exec golos-default /bin/bash -c "apt-get update"
docker exec golos-default /bin/bash -c "apt-get install -y iptables"
После чего делал так:
docker exec golos-default /bin/bash -c "iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --to-destination 172.17.0.2:1234"
Что такое 172.17.0.2 - это результат ip route show | grep docker0, запущенного на
хост-машине.
Начало истории тут
Как в Ubuntu сделать (желательно без туннелей), чтобы приложение (клиент) при попытке подключиться к ip1:port подключалось к ip2:порт?
Правда вот еще момент
netstat -tlnp
...
tcp 0 0 127.0.0.1:27017
Это на хосте.
Это проблема?