Release da imagem PHP Full da Convenia, com PHP 8.5
Nesta semana, lançamos a versão 8.5 da nossa imagem Docker para aplicações PHP, agora com PHP 8.5 e nesse post vamos falar um pouco de como utilizar essa imagem.
Na Convenia, a 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. Nesse post abordamos todas as vantagens de padronizar a forma de executar aplicações
Essa imagem está disponível desde a versão 8.1, sendo amplamente testada e utilizada em produção em centenas de projetos e pipelines da Convenia e já acumula 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 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 integridade e atualizações regulares
A Convenia mantém esse padrão 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 o seu localhost será possível ver uma documentação similar a essa
Essa página é a própria documentação da imagem sendo servida pelo PHP + nginx. No proximo exemplo com o docker compose vemos como executar a nossa aplicação dentro da imagem, é só montar um volume ou copiar a aplicação para o diretório /var/www/app dentro do container.
Usando com Docker Compose
Crie um arquivo docker-compose.yml na 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 stack 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 pasta public como entrypoint do request, aplicações Symfony, Laravel. Se o entrypoint for na raiz apenas acrescente a pasta public 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 escaneamento contínuo de dependências. O último build pode ser consultado no workflow 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 customizaçã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 adapta o container à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 execução de comandos como o scheduler do Laravel.
Conclusão
Seguem uma listinha com as vantagens da utilização dessa imagem em projetos PHP:
- Consistência entre ambientes
- Facilidade de uso
- Atualizações contínuas
- Padrão único para toda a empresa

Top comments (0)