PHP

20 jan, 2026

Docker de imagem. Para rodar projetos PHP em menos de 30 segundos

Publicidade

Nesta semana, lançamos a 8.5 da nossa imagem Docker para aplicações PHP , agora com PHP 8.5 e nesse post vamos falar um pouco da versão de como utilizar essa imagem.

Na Convenia , maior HR Tech do Brasil, utilizamos essa imagem de forma padronizada em todos os nossos projetos . Isso significa que qualquer desenvolvedor da equipe sabe exatamente como iniciar, testar e implantar aplicações sem surpresas no ambiente — seja em desenvolvimento, homologação ou produção. Em outro post abordamos todas as vantagens de padronizar a forma de executar aplicações

Essa imagem está disponível desde a 8.1 , sendo amplamente testada e utilizada em produção em centenas de projetos e pipelines da Convenia e já acumula versão mais de 10K de pulls no Docker Hub .


O que é a imagem Docker PHP Full?

A imagem Docker PHP Full é um ambiente containerizado que já contém tudo o que as aplicações PHP precisam para rodar com segurança e desempenho:

  • PHP pré-configurado com versões modernas
  • Servidor web integrado
  • Ferramentas úteis como Composer, cron e extensões comuns
  • Testes de verificação e verificações regulares

A Convenia mantém padrão esse há diversas versões — do PHP 8.1 até o novo 8.5 — garantindo estabilidade e suporte contínuo para todos os projetos da empresa.


Como usar a imagem

Instalação

Para começar com a imagem PHP Full da Convenia, basta usar o Docker ou Docker Compose.

Usando Docker

docker run --rm -p 80:80 convenia/php-full:8.5

Ao acessar seu localhost será possível ver uma documentação semelhante a essa

Documentação da imagem sendo servida pela própria imagem em execução


Essa página é a própria documentação da imagem sendo servida pelo PHP + nginx. O próximo exemplo do docker compose que vemos como executar nossa aplicação dentro da imagem é apenas montar um volume ou copiar uma aplicação para o diretório /var/www/appdentro do contêiner.

Usando com Docker Compose

Crie um arquivo docker-compose.ymlna raiz do seu projeto:

services:
  app:
    image: convenia/php-full:8.5
    container_name: app
    volumes:
      - .:/var/www/app
    ports:
      - "80:80"

Depois, execute:

docker-compose up -d

Esse arquivo pode ser colocado na raiz de um projeto Laravel por exemplo, e ao subir a pilha do compose o projeto já deve executar sem maiores problemas.

Na verdade é possível colocar esse arquivo em qualquer aplicação PHP que tenha a massa pública como ponto de entrada do request, aplicações Symfony, Laravel. Se o ponto de entrada para a raiz apenas atmosférica a pasta pública ao montar o volume:

    volumes:
      - .:/var/www/app/public

Atualizações automáticas

A imagem é construída e atualizada semanalmente para garantir o uso de versões seguras e livres de vulnerabilidades conhecidas, com varredura contínua de dependências. A última compilação pode ser consultada no fluxo de trabalho do Github Actions


Segurança

  • O serviço FPM (porta 9000) é exposto apenas internamente no container
  • É recomendado bloquear a porta 9000 em ambientes externos
  • A imagem já vem com as configurações de segurança recomendadas para produção. Como desabilitar mensagens de erros e afins.

Exemplos de personalização

Substituir configuração do Nginx

Você pode substituir a configuração padrão do servidor web:

services:
  app:
    image: convenia/php-full:8.5
    volumes:
      - ./nginx.conf:/etc/nginx/http.d/default.conf

Assim adapte o contêiner às regras específicas do seu projeto.


tarefas agendadas com cron

A imagem já inclui o binário cron, facilitando tarefas agendadas:

  1. Adicione um arquivo crontabcom os comandos desejados;
  2. Copie para o container:
COPY crontab /etc/crontabs/root
  1. Inicie cron no container:
docker run --rm mycronimage crond -l 2 -f

Isso facilita a execução de comandos como o agendador do Laravel.


Conclusão

Segue uma listinha com as vantagens da utilização dessa imagem em projetos PHP:

  • Constituição entre ambientes
  • Facilidade de uso
  • Atualizações contínuas
  • Padrão único para toda a empresa