Eu tenho um contêiner docker executando o servidor da Web que está escutando na porta 80 (jenkins / jenkins: lts)
Eu possuo interfaces 2x no host, um deve ser dedicado apenas ao contêiner (uma vez que isso esteja funcionando, ele será bloqueado apenas para permitir HTTP / HTTPS
Aqui está o NIC Config na instância (Isso é AWS, então eles são Elastic Network Interfaces):
Configuração de rotas, pois isso é um roteamento assimétrico:
Aqui estão algumas saídas depois que as regras de rota acima estão definidas:
root@docker01:/home/ubuntu#ip route show tab 1
default via 10.10.20.1 dev eth0
root@docker01:/home/ubuntu# ip route show tab 2
default via 10.10.20.1 dev eth1
root@docker01:/home/ubuntu# ip rule
0: from all lookup local
500: from 10.10.20.111 lookup 2
600: from 10.10.20.200 lookup 1
32766: from all lookup main
32767: from all lookup default
Docker container is listening on 0.0.0.0:80
Ao tentar acessar, aqui estão os resultados:
Since the ping and ssh works, I have a feeling this has something to do with docker specifically.
Aqui está a saída "docker ps" para as portas:
0.0.0.0:443->443/tcp, 0.0.0.0:50000->50000/tcp, 0.0.0.0:80->8080/tcp
Coisas que eu verifiquei: