Manually port map to container port?

I am trying to use iptables to manually reconstruct what -p hport:cport does, as a learning exercise. Concretely, I have a container running on 172.17.0.2:8082. I did not do -p 8082:8082. I am using Docker 1.12.1 on Ubuntu 16.04.1 if that clarifies anything.

sudo iptables -t nat -A DOCKER -p tcp --dport 8082 -j DNAT --to-destination 172.17.0.2:8082

That seems to match similar rules created by Docker. There is also a POSTROUTING rule that is added, which I have not been able to decipher. Can someone point to a tutorial or explain the steps? Again this is for learning, I understand restarting the container is the way to go with the appropriate port mappings.

At a high level, I want curl localhost:8082 to respond, just like it would have if I had done -p 8082:8082.

Regards.

Ron

1 Like