Escolar Documentos
Profissional Documentos
Cultura Documentos
title: Capítulo 10
---
2. Cria-se uma interface com nome único, como "veth1234", e em seguida *linka-se*
com a *bridge* do Docker, a "docker0".
## 10.1. Consigo fazer com que a porta do *container* responda na porta do *host*?
Agora vamos fazer com que a porta 8080 do nosso *host* responda pela
porta 80 do nosso *container*, ou seja, sempre que alguém bater na porta
8080 do nosso *host*, a requisição será encaminhada para a porta 80 do
*container*. Simples, né?
```bash
root@linuxtips:~# # docker container run -ti -p 8080:80 linuxtips/apache:1.0
/bin/bash
root@4a0645de6d94:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 1 18:18 ? 00:00:00 /bin/bash
root 6 1 0 18:18 ? 00:00:00 ps -ef
root@4a0645de6d94:/# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 18:18 ? 00:00:00 /bin/bash
root 30 1 0 18:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 33 30 0 18:19 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 34 30 0 18:19 ? 00:00:00 /usr/sbin/apache2 -k start
root 109 1 0 18:19 ? 00:00:00 ps -ef
root@4a0645de6d94:/# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
74: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group
default
link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.3/16 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::42:acff:fe11:3/64 scope link
valid_lft forever preferred_lft forever
root@4a0645de6d94:/#
```
Com isso, estamos dizendo que toda requisição que chegar na porta 8080
do meu *host* deverá ser encaminhada para a porta 80 do *container.*
```bash
root@linuxtips:~# curl <IPCONTAINER>:80
```
```bash
root@linuxtips:~# curl <IPHOST>:8080
```
Vamos dar uma olhada nas regras de *iptables* referentes a esse nosso
*container*. Primeiro a tabela *filter*:
```bash
root@linuxtips:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
root@linuxtips:~#
```
```bash
root@linuxtips:~# iptables -L -n -t nat
root@linuxtips:~#
```
Como podemos notar, temos regras de NAT configuradas que permitem o DNAT
da porta 8080 do *host* para a 80 do *container.* Veja a seguir:
```bash
MASQUERADE tcp -- 172.17.0.3 172.17.0.3 tcp dpt:80
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:172.17.0.3:80
```