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
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:
- Adicione um arquivo
crontabcom os comandos desejados; - Copie para o container:
COPY crontab /etc/crontabs/root
- 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





