Adicionando e Configurando um Site Baseado em Contêiner Docker no ServBay
O ServBay é um ambiente de desenvolvimento web local projetado especificamente para macOS, suportando diversas linguagens e stacks tecnológicos. Além de hospedar sites utilizando os pacotes integrados do ServBay (como PHP, Node.js, Python, Go, Java, bancos de dados etc.), você também pode executar e gerenciar seus sites ou serviços em contêineres Docker. Essa abordagem oferece altíssima flexibilidade, isolamento e consistência de ambiente, sendo especialmente útil para projetos que requerem dependências ou ambientes específicos.
Neste artigo, vamos detalhar como adicionar um site rodando em um contêiner Docker ao ServBay, integrando-o ao seu fluxo local de desenvolvimento através do recurso de proxy reverso do ServBay.
Visão Geral
Ao configurar o ServBay como um proxy reverso, você pode encaminhar solicitações de determinados domínios para portas de serviços rodando dentro de contêineres Docker. O ServBay fica responsável pelo tráfego de entrada (incluindo certificados HTTPS, resolução de domínios, etc.), enquanto o Docker cuida da execução da sua aplicação. Esse modelo combina a interface de gerenciamento intuitiva do ServBay com o poder dos contêineres Docker.
Os passos a seguir irão guiá-lo no processo de adicionar e configurar um site hospedado em serviço Docker dentro do ServBay.
Pré-requisitos
Antes de começar, certifique-se de que os seguintes requisitos foram atendidos:
- ServBay instalado e em execução: Você já instalou e iniciou o ServBay no macOS com sucesso.
- Docker instalado e em execução: O Docker Desktop ou outro ambiente Docker está instalado e o serviço do Docker está ativo no seu macOS.
- Imagem e contêiner Docker prontos: Você já construiu ou baixou a imagem Docker do seu site ou aplicativo, e consegue iniciar um contêiner a partir dela.
Passo a Passo para Adicionar o Site
Passo 1: Preparar e Executar o Contêiner Docker
Primeiramente, certifique-se de que seu contêiner Docker está em execução e que o serviço interno (como um servidor web) está ouvindo em uma porta mapeada do contêiner para uma porta disponível no host (seu macOS), usando o recurso de mapeamento de portas do Docker.
Por exemplo, se você possui um contêiner Nginx simples, onde o Nginx interno escuta na porta 80, utilize o seguinte comando para mapear a porta 8080 do host para a porta 80 do contêiner:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
Neste exemplo, o Nginx dentro do contêiner my-nginx-servbay
está ouvindo na porta 80
, mas com o parâmetro -p 8080:80
mapeamos a porta 80
do contêiner para a porta 8080
do host. O ServBay precisará se conectar à porta 8080
do host.
De acordo com sua aplicação e configuração do Dockerfile, verifique se o serviço interno do contêiner está na porta correta e se ela está mapeada corretamente para o host.
Passo 2: Abra a Interface de Gerenciamento do ServBay
No diretório de aplicativos do seu macOS, localize o ícone do aplicativo ServBay
e dê duplo clique para abrir a interface de gerenciamento do ServBay.
Passo 3: Navegue até a Página de Gerenciamento de Sites
Após abrir o ServBay, você verá a interface principal. No menu de navegação à esquerda, encontre e clique na opção Sites
. Isso irá levá-lo à página de gerenciamento de sites do ServBay, onde poderá visualizar e configurar todos os sites locais já adicionados.
Ilustração: Clique em “Sites” na barra de navegação à esquerda para acessar a página de gerenciamento.
Passo 4: Adicionar Novo Site
Na parte inferior da página de gerenciamento de sites, você verá um botão +
. Clique nele e o ServBay irá exibir, à direita, um novo formulário para que você preencha as informações de configuração do novo site.
Ilustração: Clique no botão “+” para adicionar um novo site.
Passo 5: Configurar as Definições do Site
No formulário de configuração recém-aberto, preencha as seguintes informações essenciais:
- Nome (Name): Dê um nome de fácil identificação ao seu site, como
Docker Nginx Demo
. Este nome é apenas para uso interno no ServBay. - Domínio (Domain): Informe o domínio local pelo qual deseja acessar o site Docker no navegador. Recomenda-se utilizar o sufixo
.servbay.demo
para evitar conflitos com domínios públicos, por exemplo,docker.servbay.demo
. O ServBay configurará automaticamente o arquivo hosts apontando esse domínio para o local (127.0.0.1
). - Protocolo (Protocol): Escolha o protocolo suportado pelo site. Normalmente, deixe o padrão
HTTP/HTTPS
. O ServBay irá escutar nas portas HTTP (80) e HTTPS (443) e lidar conforme as suas configurações de SSL. - Método de Solicitação de Certificado SSL (SSL Certificate Request Method): Recomenda-se selecionar
ServBay CA
. O ServBay irá gerar e gerenciar automaticamente um certificado SSL local assinado pela CA do usuário ServBay. Ao instalar a CA Pública do ServBay no seu sistema, seu navegador confiará nesses certificados, facilitando o desenvolvimento e testes HTTPS locais. Se necessário, você pode escolherACME
(para certificados Let's Encrypt) ouCustom
(para usar seu próprio certificado). - Tipo de Site (Website Type): [Importante] Selecione
Proxy Reverso (Reverse Proxy)
. Isso faz com que o ServBay atue como porta de entrada para o domínio, encaminhando as requisições para o endereço do serviço backend que você definir. - Endereço IP (IP Address): Insira o endereço IP do host onde seu serviço Docker está ouvindo. Na maioria das instalações Docker locais, esse endereço é o loopback
127.0.0.1
. - Porta (Port): Digite o número da porta exposta pelo serviço Docker no host. Isso corresponde à porta do host definida no comando
docker run -p <porta_host>:<porta_container>
. Por exemplo, se usou-p 8080:80
, coloque8080
aqui.
Ilustração: Preencha as configurações do site proxy reverso Docker.
Passo 6: Finalize e Salve a Configuração
Depois de preencher todas as informações necessárias, clique no botão Adicionar (Add)
no fim do formulário.
O ServBay irá processar sua solicitação, criando automaticamente as regras de proxy reverso nos servidores web (como Caddy ou Nginx) que utiliza internamente e atualizando o arquivo hosts do sistema para apontar o domínio definido para o localhost.
Após a gravação, o ServBay pode demorar alguns instantes para aplicar as configurações. Assim que terminar, você já poderá tentar acessar o domínio do seu novo site.
Passo 7: Acesse o Site e Utilize as Ações Rápidas
Com a configuração salva, volte para a página de gerenciamento de sites e o novo site estará listado. Verifique se o status está como “Ativo”.
Agora, basta acessar o domínio configurado pelo navegador (por exemplo, http://docker.servbay.demo
ou https://docker.servbay.demo
). Se tudo estiver correto, o ServBay irá encaminhar sua requisição para o serviço dentro do contêiner Docker e exibir o conteúdo da página provido pelo contêiner.
No item da lista de sites, o ServBay fornece diversas ações rápidas:
- Abrir diretório raiz do site em uma IDE: (Para sites do tipo proxy reverso, esse botão pode não ser aplicável ou pode apontar para o diretório de configuração do ServBay, dependendo da versão e da configuração).
- Abrir site no navegador: Abra o URL do site rapidamente em uma nova aba.
- Visualizar logs do site: Veja os acessos e logs de erro registrados pelo ServBay, útil para depuração.
- Pausar/Ativar site: Habilite ou desabilite temporariamente o proxy reverso do site no ServBay.
- Remover site: Exclua a configuração do site do ServBay.
Ilustração: Ações rápidas disponíveis na lista de sites do ServBay.
Dicas e Boas Práticas
- Estado do contêiner Docker: Garanta que o contêiner desejado esteja sempre rodando, do contrário o ServBay não conseguirá encaminhar as requisições.
- Mapeamento de portas: Verifique cuidadosamente se o mapeamento de portas do Docker (parâmetro
-p
) e o número da porta configurado no ServBay são os mesmos, e se ela está livre no host. - Firewall: Confira as configurações do firewall do macOS para garantir que as portas utilizadas pelo ServBay (padrão 80, 443) e as portas mapeadas pelo Docker estejam liberadas.
- Modo de rede Docker: Na maioria dos casos, utilizar o modo
bridge
padrão com mapeamento de portas pelo parâmetro-p
é a forma mais simples. Se usar o modo de redehost
, o ServBay se conecta diretamente à porta interna do contêiner (por exemplo, porta 80), mas o modohost
pode gerar conflitos de portas. - CA do ServBay: Para uma experiência HTTPS sem alertas de segurança, recomenda-se instalar a CA Pública do ServBay. Isso garante que os certificados locais gerados pelo ServBay sejam reconhecidos como confiáveis pelo navegador.
FAQ — Perguntas Frequentes e Solução de Problemas
P: Não consigo acessar o site após adicioná-lo, o navegador mostra erro de conexão ou tempo esgotado. E agora?
R: Siga o checklist abaixo:
- Verifique o status do site no ServBay: Na interface de gerenciamento, confirme que o status do site está “Ativo”.
- Verifique o estado do contêiner Docker: No terminal, use
docker ps
e confirme que o contêiner alvo está rodando. - Confira o mapeamento de portas do Docker: Use
docker ps
para ver as portas mapeadas na colunaPORTS
. Certifique-se de que a porta do host (como0.0.0.0:8080->80/tcp
ou127.0.0.1:8080->80/tcp
, ou seja, o8080
) é a mesma configurada no ServBay. - Verifique o serviço interno do contêiner: Assegure-se de que o serviço web dentro do contêiner (Nginx, Apache, Node, etc.) esteja escutando na porta correta e funcionando sem erros. Veja o log do contêiner com
docker logs <id_ou_nome>
. - Cheque os logs do ServBay: No ServBay, clique no ícone de logs do site para examinar os logs de acesso e de erro que podem trazer mais detalhes sobre falhas de encaminhamento.
- Revise o arquivo hosts do sistema: Apesar do ServBay gerenciar esse arquivo automaticamente, confira manualmente o
/etc/hosts
para garantir que o domínio está apontando para127.0.0.1
. - Analise o firewall: Certifique-se de que o firewall não está bloqueando as portas utilizadas pelo ServBay ou pelo Docker.
P: Posso gerenciar os contêineres Docker diretamente pelo ServBay?
R: O ServBay é focado no gerenciamento de serviços web locais, bancos de dados, linguagens de programação e roteamento de tráfego para serviços backend (incluindo Docker). Ele não oferece gerenciamento completo do ciclo de vida de contêineres (como iniciar, parar, construir imagens, etc.). Continue usando o terminal Docker CLI ou Docker Desktop para gerenciar seus contêineres.
P: O que é a CA do ServBay? Por que instalá-la?
R: A CA do ServBay (Autoridade Certificadora) é um sistema de gerenciamento de certificados criado para simplificar o desenvolvimento HTTPS local. A CA do usuário ServBay assina os certificados SSL para seus sites locais, enquanto a CA Pública do ServBay é o certificado raiz. Ao instalar a CA Pública do ServBay no seu sistema, o SO e o navegador passam a confiar nos certificados assinados pela CA do usuário ServBay, evitando alertas de “conexão insegura” ao acessar sites HTTPS no ServBay. Isso é crucial para testar localmente em um ambiente similar ao de produção.
Conclusão
Adicionar um site baseado em contêiner Docker ao ServBay é uma alternativa eficiente e flexível: o ServBay gerencia tráfego e domínios como centro do ambiente de desenvolvimento local e, ao mesmo tempo, o Docker executa e isola o ambiente da aplicação. Com uma simples configuração de proxy reverso, você consegue integrar facilmente diversos projetos Dockerizados ao fluxo de trabalho no ServBay. Siga os passos e dicas deste artigo para configurar e rodar seu site local Dockerizado com sucesso.