Если вы пытаетесь выставить порты, все, что вам нужно сделать, это дать директиву -p при запуске docker или создании службы docker.Docker будет управлять отображением портов на хост, а прокси-сервер пользователя будет соответственно фильтровать трафик.Правила брандмауэра ничего не делают, если с другой стороны ничего не слушается.
docker run d --name tutum -p 80:80 tutum/hello-world
$:~ user$ docker run -d -p 80:80 --name tutum tutum/hello-world
Unable to find image 'tutum/hello-world:latest' locally
latest: Pulling from tutum/hello-world
658bc4dc7069: Pull complete
a3ed95caeb02: Pull complete
af3cc4b92fa1: Pull complete
d0034177ece9: Pull complete
983d35417974: Pull complete
Digest: sha256:0d57def8055178aafb4c7669cbc25ec17f0acdab97cc587f30150802da8f8d85
Status: Downloaded newer image for tutum/hello-world:latest
2673c45c70f9ac153236ddb4fbeb4d54e7953742dea60c3f8e3c1e7d718d68e0
$:~ user$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2673c45c70f9 tutum/hello-world "/bin/sh -c 'php-fpm…" 4 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp tutum
На этом этапе хост будет прослушивать порт 80. Все, что вам нужно сделать, это управлять тем, как трафик попадает на хост.