Como subir um site com Docker Print

  • 0

Como Subir um Site com Docker 🐳

Opa, tudo certo? Aqui é a Sensei da GeHost! 😊

Você já ouviu falar em Docker mas acha que é coisa de hacker? Relaxa — é mais simples do que parece. Pense no Docker como uma "caixa de ferramentas portátil" que embrulha seu site junto com tudo que ele precisa pra rodar (banco de dados, bibliotecas, linguagem). Você tira essa caixa de qualquer lugar e coloca pra funcionar — sempre igual, sem dor de cabeça.

Neste guia, vou te mostrar passo a passo como subir um site usando Docker na hospedagem GeHost. Não precisa ser expert em Linux — só de paciência e vontade de aprender. Bora lá!

O que você precisa antes de começar

  • Um plano GeHost com cPanel (Básico, Médio ou Plus funciona).
  • Acesso ao Terminal do seu servidor (via SSH — vem no painel de controle).
  • Um editor de texto simples (Notepad, VS Code, qualquer um serve).
  • Um pouco de paciência — você vai rodar alguns comandos no terminal. Sem medo! 💪
💡 Dica: Se você ainda não tem SSH habilitado, entre em contato com a equipe da GeHost pra ativar (é rápido!). Você vai precisar de acesso ao terminal pra trabalhar com Docker.

Passo 1: Entender a estrutura do Docker

Antes de mexer no terminal, vamos desmistificar Docker:

  • Dockerfile — é a "receita" que diz ao Docker como preparar o ambiente (instalar tudo que seu site precisa).
  • Imagem — é o "pacote pronto" gerado a partir dessa receita (seu site embrulhado com tudo).
  • Container — é quando você "abre a caixa" e a imagem começa a funcionar de verdade (seu site rodando).

Resumindo: Dockerfile → Imagem → Container. Simples assim! ✨

Passo 2: Preparar seu arquivo Dockerfile

Crie um arquivo chamado Dockerfile (sem extensão) na raiz do seu projeto. Aqui está um exemplo básico para um site em Node.js:

Conteúdo do Dockerfile:

FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

Se seu site é em PHP, use este template:

FROM php:8.2-apache
WORKDIR /var/www/html
COPY . .
EXPOSE 80
CMD ["apache2-foreground"]

📌 O que cada linha faz:
FROM — escolhe a "base" (sistema operacional + linguagem pronta).
WORKDIR — define onde o trabalho vai acontecer dentro da caixa.
COPY — copia seus arquivos do seu PC pra dentro da caixa.
RUN — executa comandos pra instalar coisas (npm install, apt-get, etc.).
EXPOSE — avisa qual porta o site vai usar (padrão: 3000 pra Node, 80 pra PHP).
CMD — comando que roda quando o container inicia (como "ligar o site").

Passo 3: Criar um arquivo docker-compose.yml (opcional, mas recomendado)

Se seu site usa um banco de dados, use um arquivo docker-compose.yml pra orquestrar tudo junto. Exemplo com Node.js + MySQL:

version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
environment:
DB_HOST: db
DB_NAME: meusite_db
DB_USER: usuario
DB_PASSWORD: senha123
db:
image: mysql:8.0
environment:
MYSQL_DATABASE: meusite_db
MYSQL_USER: usuario
MYSQL_PASSWORD: senha123
MYSQL_ROOT_PASSWORD: root123
ports:
- "3306:3306"

💡 Dica: O docker-compose é perfeito quando seu site precisa falar com um banco de dados. Ele cuida de lincar o app com o banco automaticamente. Caloroso demais, né? 😄

Passo 4: Enviar seus arquivos para o servidor

Você tem dois jeitos:

  1. Via SFTP (mais fácil): use um programa como FileZilla. Conecta no seu servidor da GeHost e joga a pasta do seu projeto inteira.
  2. Via Git (mais profissional): faça um git clone direto no terminal do servidor.

Qualquer jeito funciona — escolha o que você se sente confortável! 👍

Passo 5: Conectar no terminal do seu servidor e construir a imagem

Abra o Terminal (SSH) da GeHost (via cPanel ou software como PuTTY/MobaXterm) e faça login.

Navegue até a pasta do seu projeto:

cd ~/meu_site_docker

Construa a imagem Docker:

docker build -t meu-site:latest .

Isso pode levar uns minutos (ele tá baixando e preparando tudo). Quando terminar, você verá uma mensagem de sucesso. ✅

Passo 6: Rodar o container

Se você não tá usando docker-compose:

docker run -d -p 3000:3000 --name meu-site meu-site:latest

Se você TÁ usando docker-compose:

docker-compose up -d

Pronto! 🎉 Seu site tá rodando dentro de um container. O -d significa que ele roda em background (você não vê os logs, mas tá funcionando).

🔍 Pra ver se tá rodando mesmo:
docker ps
Você vai ver uma lista dos containers ativos. Se o seu aparece lá com status "Up" — bingo! Tá vivo.

Passo 7: Apontar seu domínio pro container

Agora você precisa falar pro mundo aonde tá seu site. Via cPanel da GeHost:

  1. Vá em Addon Domains ou Domains.
  2. Aponte seu domínio (ex.: meusite.com.br) pro IP do seu servidor.
  3. Crie um Reverse Proxy ou use mod_rewrite pra direcionar o tráfego do nginx/Apache direto pro container (porta 3000 ou a que você escolheu).

Se isso tá muito técnico, pode chamar o suporte da GeHost — a galera resolve rápinho! 😊

Passo 8: Monitorar e manter seu container

Seu site tá no ar! Mas aí vem o mantimento:

  • Ver logs: docker logs -f meu-site (mostra o que tá acontecendo).
  • Parar o container: docker stop meu-site.
  • Iniciar de novo: docker start meu-site.
  • Remover (se quiser deletar): docker rm meu-site.
  • Atualizar após mudanças: Edita o código → roda docker build de novo → docker stop meu-sitedocker run com a nova imagem.
💡 Automação: Se você quer que o container inicie automaticamente quando o servidor reinicia, use a flag --restart=always na hora de rodar o container. Exemplo: docker run -d -p 3000:3000 --restart=always --name meu-site meu-site:latest

Resolvendo problemas comuns

❌ "Container parou sozinho"
Rode docker logs meu-site pra ver qual foi o erro. Geralmente é variável de ambiente faltando, banco de dados não conectando ou porta já ocupada.

❌ "Porta 3000 já tá em uso"
Use outra porta no docker run. Exemplo: -p 3001:3000 (3001 fora, 3000 dentro do container).

❌ "Quer sincronizar arquivos sem ficar reconstruindo a imagem?"
Use volumes. Adicione -v ~/meu_site:/app no docker run (mapeia a pasta do seu PC pra dentro do container). Qualquer mudança que você fizer no arquivo local já reflete no container!

📞 Quando chamar o suporte?
Se seu container roda perfeito localmente, mas dá erro no servidor da GeHost, ou se precisa ativar porta/fazer mudança de firewall, chama a galera do suporte. A gente cuida do resto! 💪

Dicas extras da Sensei 🧘‍♀️

  • Sempre teste localmente primeiro. Tenha Docker instalado no seu PC, rode o container lá, vê se tá perfeito, e aí sim sobe pro servidor. Poupa dor de cabeça.
  • Mantenha seu Dockerfile legível. Comentários em código são seus amigos. Futuro você vai agradecer.
  • Use .dockerignore. Assim como o .gitignore, ele exclui arquivos desnecessários da imagem (node_modules, .env, etc.). Imagem menor = mais rápida.
  • Crie um .env.example com as variáveis que seu app precisa. Deixa bem claro o que o colega (ou você mesmo em 3 meses) precisa configurar.
  • Documente tudo. Um README.md com "como subir", "quais variáveis", "como debugar" é ouro puro.

Próximos passos

Agora que você tá craque em Docker, pode explorar:

  • Docker Swarm ou Kubernetes pra escalar quando o site crescer.
  • GitHub Actions pra fazer deploy automático (CI/CD).
  • Monitoramento com ferramentas como Prometheus, Grafana ou DataDog.

Mas isso fica pra próxima! 😄


Ficou com dúvida? Manda um mensagem pro suporte da GeHost — a galera tá sempre de prontidão. A gente adora ajudar quem quer aprender!

Abraço, e bem-vindo ao universo Docker! 🚀


Was this answer helpful?

« Back