Como adicionar e configurar sites baseados em Docker no ServBay
ServBay é um ambiente de desenvolvimento web local compatível com macOS e Windows, suportando diversas linguagens e stacks tecnológicos. Além de executar diretamente os pacotes integrados do ServBay (como PHP, Node.js, Python, Go, Java, bancos de dados etc.) para hospedar sites, você também pode utilizar contêineres Docker para rodar e gerenciar seus sites ou serviços. Essa abordagem oferece extrema flexibilidade, isolamento de ambiente e consistência, sendo especialmente útil para projetos que necessitam de ambientes ou dependências específicas.
Neste guia, você encontrará instruções detalhadas sobre como adicionar um site rodando em um contêiner Docker ao ServBay, integrando-o ao seu fluxo de trabalho local por meio do recurso de proxy reverso do ServBay.
Visão Geral
Ao configurar o ServBay como um proxy reverso, você pode redirecionar as solicitações de domínios específicos para a porta de serviço rodando dentro de um contêiner Docker. O ServBay fica responsável por gerenciar o tráfego de entrada (como certificados HTTPS, resolução de domínio, etc.), enquanto o contêiner Docker roda e entrega sua aplicação. Este modelo combina a interface de gestão prática do ServBay com o poder da conteinerização do Docker.
Os passos a seguir vão guiar todo o processo de adicionar e configurar um site hospedado em Docker no ServBay.
Pré-requisitos
Antes de iniciar, certifique-se de que:
- ServBay está instalado e rodando: Você já instalou e iniciou o ServBay com sucesso em seu macOS.
- Docker está instalado e rodando: Você já instalou o Docker Desktop ou outro ambiente Docker no macOS, e o serviço Docker está ativo.
- Imagem e contêiner Docker prontos: Você já construiu ou obteve a imagem Docker que contém seu site ou aplicação, e consegue executar esta imagem para iniciar um contêiner.
Passo a Passo para Adicionar o Site
Passo 1: Preparar e iniciar o contêiner Docker
Primeiro, certifique-se que seu contêiner Docker está rodando, e que o serviço dentro dele (como o servidor web) está escutando por uma porta que foi corretamente exposta para o host usando o recurso de mapeamento de portas do Docker.
Por exemplo, se você possui um contêiner do Nginx rodando na porta interna 80, use o comando abaixo 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 serviço Nginx dentro do contêiner my-nginx-servbay
escuta na porta 80
, mas ao usar o parâmetro -p 8080:80
, você mapeia a porta 80
do contêiner para a 8080
do host. O ServBay então se conecta à porta 8080
do host.
Adapte essa configuração conforme a sua aplicação e o Dockerfile, garantindo que o serviço interno do contêiner está ouvindo na porta correta e que essa porta está sendo mapeada para uma porta disponível do seu computador.
Passo 2: Abrir a interface de gerenciamento do ServBay
No seu macOS, localize o ícone do aplicativo ServBay
na pasta de aplicativos e dê um duplo clique para abrir a interface de gerenciamento do ServBay.
Passo 3: Acesse a página de gerenciamento de sites
Após abrir o ServBay, você verá a interface principal. No menu de navegação à esquerda, clique na opção Sites
. Assim, você vai para a página de gerenciamento de sites do ServBay, onde é possível visualizar e configurar todos os sites locais já adicionados.
Ilustração: clique em “Sites” na barra lateral esquerda para acessar a página de gerenciamento.
Passo 4: Adicionar novo site
Na parte inferior da página de gerenciamento de sites, localize o botão +
. Ao clicar, o ServBay irá mostrar na área à direita um novo formulário para você inserir as informações de configuração do novo site.
Ilustração: clique no botão “+” abaixo para adicionar um novo site.
Passo 5: Configurar as definições do site
No novo formulário de configuração do site, preencha as informações a seguir:
- Nome: Escolha um nome fácil de identificar para seu site, como
Docker Nginx Demo
. Este nome é apenas para gestão interna no ServBay. - Domínio: Digite o domínio local que você deseja utilizar para acessar este site no navegador. Recomenda-se utilizar o sufixo
.servbay.demo
para evitar conflitos com domínios públicos, por exemplo,docker.servbay.demo
. O ServBay configura automaticamente o arquivo hosts do sistema para apontar este domínio para o IP local (127.0.0.1
). - Protocolo: Selecione o protocolo suportado pelo site. Geralmente, mantenha o padrão
HTTP/HTTPS
. O ServBay vai escutar tanto nas portas HTTP (80) quanto HTTPS (443) e gerenciar os certificados SSL conforme a configuração. - Método de solicitação de certificado SSL: Recomenda-se escolher
ServBay CA
. O ServBay irá gerar e gerenciar automaticamente um certificado SSL local assinado pela ServBay User CA. Instalando a ServBay Public CA no seu chaveiro do sistema, o navegador irá confiar nesses certificados locais, facilitando o desenvolvimento e testes em HTTPS. Se preferir, há opções paraACME
(por exemplo, Let's Encrypt) ouCustom
(utilizando seus próprios certificados). - Tipo de site: [Crucial] Selecione
Proxy Reverso (Reverse Proxy)
. Isto define o ServBay como ponto de entrada para o domínio, redirecionando as requisições para o endereço do serviço backend configurado. - Endereço IP: Informe o IP do serviço do contêiner Docker exposto no host. Na maioria dos casos de docker local, este endereço será
127.0.0.1
. - Porta: Indique o número da porta do serviço Docker no host. Este valor corresponde ao parâmetro
<porta do host>
usado no comandodocker run -p <porta do host>:<porta do contêiner>
. Por exemplo, se usou-p 8080:80
, insira8080
aqui.
Ilustração: preenchendo as configurações de proxy reverso para site com Docker.
Passo 6: Finalizar e salvar configuração
Após preencher todos os campos necessários, clique no botão Adicionar (Add)
no final do formulário.
O ServBay processará seu pedido e irá adicionar as regras de proxy reverso no servidor web utilizado (como Caddy ou Nginx), além de atualizar o arquivo hosts do sistema para apontar o domínio local.
Após a confirmação do sucesso, pode ser necessário aguardar alguns segundos para a aplicação das configurações antes de acessar o novo domínio.
Passo 7: Acessar o site e usar os recursos rápidos
Com a configuração salva, volte à página de gerenciamento de sites para visualizar o novo item cadastrado. Certifique-se que o status está como “Rodando”.
Agora, basta acessar o domínio configurado no navegador (por exemplo, http://docker.servbay.demo
ou https://docker.servbay.demo
). Se tudo estiver correto, o ServBay fará o encaminhamento para o serviço Docker e mostrará o conteúdo do site no navegador.
No item de lista do site, o ServBay oferece diversos atalhos práticos, tais como:
- Abrir o diretório raiz com IDE: (Em sites configurados como proxy reverso, este botão pode ficar indisponível ou apontar para diretórios de configuração do ServBay; o comportamento pode variar conforme a versão e configuração)
- Abrir site no navegador: Abre rapidamente a URL do site em uma nova aba.
- Visualizar logs do site: Acesse os registros de acessos e erros do ServBay para este site, útil para debugar problemas.
- Pausar/Ativar site: Permite habilitar ou desabilitar temporariamente a regra de proxy reverso do site no ServBay.
- Remover site: Exclui a configuração do site do ServBay.
Ilustração: Botões rápidos para gerenciamento de cada site cadastrado no ServBay.
Dicas importantes e boas práticas
- Estado do contêiner Docker: Certifique-se de que o contêiner Docker está sempre ativo, caso contrário o ServBay não conseguirá redirecionar as requisições com sucesso.
- Mapeamento de portas: Confira no comando Docker (
-p
) e na configuração do ServBay se a porta informada está correta e não está sendo usada por outro programa no host. - Firewall: Certifique-se de que o firewall do macOS não está bloqueando as portas do ServBay (padrão: 80, 443) nem as portas mapeadas do Docker.
- Modo de rede do Docker: Normalmente, usar o modo padrão de rede
bridge
com mapeamento de portas através do parâmetro-p
é o método mais simples. Se usar o modohost
, o ServBay irá acessar diretamente o serviço na porta interna do contêiner (por exemplo, se escutando na porta 80, basta indicar 80 no ServBay). Lembre-se que isso pode causar conflitos de porta. - ServBay CA: Para facilitar o desenvolvimento em HTTPS, instale a ServBay Public CA. Assim, os certificados gerados localmente pelo ServBay serão confiáveis no navegador, evitando avisos de segurança.
Perguntas Frequentes e Solução de Problemas (FAQ)
P: Não consigo acessar o site após adicioná-lo. O navegador mostra erro de conexão ou timeout.
R: Confira os pontos abaixo:
- Status do site no ServBay: Na página de gerenciamento, confirme que o status está como “Rodando”.
- Status do contêiner Docker: No terminal, execute
docker ps
e confira se o contêiner está ativo. - Mapeamento de portas do Docker: Execute
docker ps
e verifique o mapeamento de portas (PORTS
). O valor da porta do host (como0.0.0.0:8080->80/tcp
ou127.0.0.1:8080->80/tcp
) deve coincidir com a porta configurada no ServBay. - Serviço interno no contêiner: Certifique que o serviço web no contêiner (Nginx, Apache, Node, etc.) está escutando na porta correta e funcionando adequadamente. Use
docker logs <ID ou nome do contêiner>
para verificação de erros. - Logs do ServBay: Clique no ícone de logs do site na lista do ServBay e verifique registros de acesso/erros para informações detalhadas de falha de proxy.
- Arquivo hosts do sistema: Embora o ServBay faça esse ajuste automaticamente, confira manualmente o
/etc/hosts
e confirme se o domínio aponta para127.0.0.1
. - Firewall: Certifique-se que o firewall não está bloqueando as portas do ServBay ou as portas do Docker mapeadas no host.
P: O ServBay pode gerenciar os contêineres Docker diretamente?
R: O ServBay é focado em gerenciar serviços web locais, bancos de dados, ambientes de programação e no roteamento de tráfego para serviços backend (incluindo Docker). Ele não oferece funções completas para gestão do ciclo de vida de contêineres Docker (como iniciar, parar, construir imagens, etc.). Para estas tarefas, continue usando a CLI do Docker ou o Docker Desktop.
P: O que é ServBay CA? Por que instalá-lo?
R: ServBay CA (Autoridade Certificadora) é um sistema de gestão de certificados criado pelo ServBay para facilitar o desenvolvimento local seguro em HTTPS. O ServBay User CA assina os certificados SSL locais, enquanto a ServBay Public CA é a raiz confiável. Ao instalar a ServBay Public CA no seu sistema, o SO e o navegador passam a confiar nos certificados, eliminando avisos de “conexão não segura” nos sites locais do ServBay. Isso é fundamental para simular produção e testar HTTPS localmente.
Resumo
Adicionar um site rodando em contêiner Docker no ServBay é um processo eficiente e versátil. O ServBay atua como o hub central do ambiente de desenvolvimento local, gerenciando tráfego e domínios, enquanto o Docker oferece isolamento e flexibilidade máxima para sua aplicação. Basta fazer uma simples configuração de proxy reverso e você poderá integrar facilmente projetos em Docker ao seu fluxo de trabalho com o ServBay. Seguindo este tutorial e as dicas apresentadas, você estará pronto para configurar e rodar seu site Dockerizado localmente com sucesso.