Como usar Docker para isolar diferentes versões de PHP no mesmo VPS imprimir

  • 0

Como usar Docker para isolar diferentes versões de PHP no mesmo VPS (Guia para Iniciantes)

Olá, viajante da web! Seja bem-vindo ao nosso canto do conhecimento, onde aprendemos juntos a cuidar da sua hospedagem com leveza e sabedoria. Hoje vamos conversar sobre um tema poderoso, mas que pode parecer assustador: usar Docker para rodar versões diferentes de PHP no mesmo servidor.

Imagine isso: você tem um site antigo que só funciona com PHP 7.4, e outro novo que exige PHP 8.3. No passado, isso era uma dor de cabeça — ou você quebrava um site, ou precisava de múltiplos servidores. Hoje, com Docker, você pode ter ambos os mundos funcionando lado a lado, sem se atrapalhar.

Seu VPS (servidor virtual) é como um terreno fértil. Docker é o seu jardim inteligente: cada versão de PHP é uma planta diferente, em sua própria caixa de terra, sem atrapalhar as outras.

Antes de começar: você precisa de acesso técnico

Este guia é para quem já tem acesso ao terminal do servidor (SSH), ou usa uma interface como o cPanel com acesso avançado. A GeHost oferece planos com acesso SSH em alguns planos — consulte seu painel no painel.gehost.com.br para verificar se sua hospedagem permite isso.

💡 Dica do Sensei: Se você não tem acesso SSH, fale com nosso suporte. Podemos ajudar a preparar o ambiente de forma segura e dentro das políticas da GeHost.

Passo a passo: Isolando versões de PHP com Docker

  1. Conecte-se ao seu servidor via SSH

    Use um cliente como Putty (Windows) ou o terminal do seu sistema (Linux/macOS). Conecte-se usando o IP do seu servidor e suas credenciais (usuário e senha) fornecidos pela GeHost.

  2. Instale o Docker (se ainda não estiver instalado)

    Execute este comando no terminal:

    curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh

    Este script instala o Docker oficialmente, com segurança e sem complicações.

  3. Crie um diretório para o projeto

    Para organizar tudo, vamos criar uma pasta onde vamos guardar os arquivos do Docker:

    mkdir ~/php-versions && cd ~/php-versions
  4. Crie arquivos Docker para cada versão de PHP

    Você vai precisar de um arquivo Dockerfile para cada versão. Vamos começar com PHP 7.4 e PHP 8.3.

    Para PHP 7.4:

    # Arquivo: Dockerfile.php74
    FROM php:7.4-apache
    
    # Instala extensões comuns
    RUN docker-php-ext-install mysqli pdo_mysql
    
    # Copia o código do seu site para o Apache
    COPY ./site1 /var/www/html
    
    # Habilita o módulo Apache
    RUN a2enmod rewrite
    
    EXPOSE 80
    CMD ["apache2-foreground"]
        

    Para PHP 8.3:

    # Arquivo: Dockerfile.php83
    FROM php:8.3-apache
    
    # Instala extensões comuns
    RUN docker-php-ext-install mysqli pdo_mysql
    
    # Copia o código do seu site novo
    COPY ./site2 /var/www/html
    
    # Habilita o módulo Apache
    RUN a2enmod rewrite
    
    EXPOSE 80
    CMD ["apache2-foreground"]
        
  5. Construa as imagens Docker

    Com os arquivos prontos, vamos criar as imagens:

    sudo docker build -f Dockerfile.php74 -t php74-site .
    sudo docker build -f Dockerfile.php83 -t php83-site .

    Isso cria duas "caixas" (imagens) com PHP 7.4 e PHP 8.3 prontas para rodar.

  6. Execute os containers com portas diferentes

    Para não ter conflito, vamos usar portas diferentes:

    sudo docker run -d -p 8074:80 --name site_php74 php74-site
    sudo docker run -d -p 8083:80 --name site_php83 php83-site

    Agora:

    • Seu site com PHP 7.4 estará acessível em http://seu-ip:8074
    • Seu site com PHP 8.3 estará em http://seu-ip:8083
  7. Verifique se está tudo funcionando

    Abra um navegador e acesse os endereços acima. Você verá cada site rodando com sua versão de PHP, sem interferência.

    Tela inicial do cPanel com os grupos de ferramentas

Como gerenciar esses containers no futuro?

Quando precisar parar, reiniciar ou ver o status:

  • sudo docker ps — mostra os containers em execução
  • sudo docker stop site_php74 — para o container PHP 7.4
  • sudo docker start site_php83 — inicia o PHP 8.3 novamente
  • sudo docker rm site_php74 — remove o container (se quiser começar de novo)

✨ Dica do Sensei: Use nomes claros para seus containers. Isso evita confusão no futuro. E sempre faça backup dos arquivos do seu site antes de mexer no Docker.

Importante: O que a GeHost oferece (e o que não)

Na GeHost, seu servidor é um ambiente seguro e compartilhado. Usar Docker é uma forma poderosa de organizar seu ambiente, mas:

  • Não é possível instalar Docker diretamente no cPanel — ele exige acesso ao terminal.
  • Seu plano pode ou não permitir acesso SSH. Verifique no painel do cliente.
  • Se precisar de ajuda, nosso suporte está disponível por 30 dias após a entrega — não hesite em pedir!

Se quiser, podemos te ajudar a montar um script personalizado para seu caso específico. É só chamar.

Conclusão: Você está no controle

Com Docker, você não precisa escolher entre o passado e o futuro. Pode manter seu site antigo com PHP 7.4 e desenvolver o novo com PHP 8.3 — tudo no mesmo servidor, em paz.

Como dizem os mestres: “O verdadeiro desenvolvedor não tem medo do futuro — ele o organiza.”

Se este guia te ajudou, compartilhe com alguém que também quer entender melhor seu servidor. E lembre-se: você não está sozinho. A GeHost está aqui com você.

Com carinho,
Sensei da GeHost
*Grupo: G e Soluções e Eventos LTDA (CNPJ: 46.647.904/0001-04)*


Esta resposta lhe foi útil?

« Retornar