Icon

Como Expor um Container Docker Usando Cloudflare: Guia Passo a Passo

Aprenda como expor um container Docker de forma segura e sem conflitos de portas utilizando Cloudflare. Veja o passo a passo para configurar domínios, subdomínios e rotas de aplicação para seu backend.

By Sky

Neste guia, vamos aprender como expor um container Docker de forma segura utilizando a Cloudflare. O objetivo é permitir o acesso ao serviço que está a correr numa porta específica, como a 8004, sem conflitos de portas e com o gerenciamento feito pela interface do Cloudflare.

Vamos passar pelo processo de login, seleção da conta e domínio, configuração de rotas e publicação da aplicação. Assim, será possível acessar o serviço do container através de um subdomínio personalizado.

Vamos começar

Agora vou explicar como permitir que um dos containers Docker seja exposto sem problemas de portas, utilizando o nosso Cloudflare.

1
Escolham o container desejado
Step #1: Escolham o container desejado

Então, podemos ver aqui, por exemplo, que temos o equiitch backend. O equiitch backend expõe a porta 8004, certo?

Agora acedemos a cloudflare e fazemos login com a conta correspondente.

2
Cliquem em "Cloudflare login"
Step #2: Cliquem em "Cloudflare login"
3
Cliquem em "Accept All Cookies"
Step #3: Cliquem em "Accept All Cookies"
4
Cliquem aqui
Step #4: Cliquem aqui
5
Cliquem em "dash.cloudflare.com"
Step #5: Cliquem em "dash.cloudflare.com"

Neste caso, tenho esta conta.

6
Cliquem aqui
Step #6: Cliquem aqui
7
Cliquem aqui
Step #7: Cliquem aqui

Após fazermos o login, escolhemos qual conta vamos gerir. Neste caso, "gomesmariaedu", porque é onde está o Equivet.

8
Cliquem em "Gomes.maria@edu.ulisboa.pt's Account"
Step #8: Cliquem em "Gomes.maria@edu.ulisboa.pt's Account"

Aqui, depois, escolhemos o "equivet.ai".

9
Cliquem em "equivetai.com"
Step #9: Cliquem em "equivetai.com"

Quando estamos no equivet.ai, vamos em "Access" e depois em "Get Started".

10
Cliquem em "Access"
Step #10: Cliquem em "Access"
11
Cliquem em "Get started"
Step #11: Cliquem em "Get started"
12
Cliquem em "Skip this for now"
Step #12: Cliquem em "Skip this for now"

Skip. Agora precisamos ir em "Networks", depois em "Connectors". Aqui já vemos um túnel, que é exatamente o túnel configurado no Portainer.

13
Cliquem aqui
Step #13: Cliquem aqui
14
Cliquem aqui
Step #14: Cliquem aqui

Para configurar novas portas, vá em "Configure".

15
Cliquem aqui
Step #15: Cliquem aqui
16
Cliquem em "Configure"
Step #16: Cliquem em "Configure"

E depois, vamos a "Published Application Routes".

17
Cliquem em "Published application routes"
Step #17: Cliquem em "Published application routes"

Em "Published Application Routes", podemos criar uma nova aplicação. Aqui, escolhemos o domínio, que neste caso é o Equivet.

18
Cliquem em "+ Add a published"
Step #18: Cliquem em "+ Add a published"
19
Cliquem em "Select or type to search"
Step #19: Cliquem em "Select or type to search"
20
Cliquem em "equivetai.com"
Step #20: Cliquem em "equivetai.com"
21
Cliquem aqui
Step #21: Cliquem aqui

Podemos adicionar o subdomínio, por exemplo, "olá teste". Aqui podemos selecionar a porta, que neste caso pode ser HTTP.

22
Digite "olateste"
23
Cliquem aqui
Step #23: Cliquem aqui
24
Cliquem aqui
Step #24: Cliquem aqui
25
Cliquem aqui
Step #25: Cliquem aqui

E aqui colocamos exatamente qual é a porta do nosso serviço, que neste caso era 8004.

26
Cliquem aqui
Step #26: Cliquem aqui
27
configurem o IP do servidor "172.16.255.153" e a porta do container "8004"
Step #27: configurem o IP do servidor "172.16.255.153" e a porta do container "8004"
28
Cliquem em "Save"
Step #28: Cliquem em "Save"

Pronto.

29
Cliquem em "olateste.equivetai.com"
Step #29: Cliquem em "olateste.equivetai.com"
30
Cliquem em "olateste.equivetai.com"
Step #30: Cliquem em "olateste.equivetai.com"

E pronto, temos a nossa API a funcionar no backend usando o "olateste.equivet.com".

31
Cliquem em "olateste.equivetai.com"
Step #31: Cliquem em "olateste.equivetai.com"

Simples e fácil.

Se quiserem eliminá-lo, basta clicar em "Delete" e remover o hostname.

32
Cliquem aqui
Step #32: Cliquem aqui
33
Cliquem em "Delete"
Step #33: Cliquem em "Delete"
34
Cliquem em "Delete hostname"
Step #34: Cliquem em "Delete hostname"