rafapaulino/docker-php
Composer 安装命令:
composer require rafapaulino/docker-php
包简介
Um ambiente Docker personalizável para PHP, MySQL/PostgreSQL, Redis e Mailpit, similar ao Laravel Sail.
README 文档
README
Um ambiente Docker personalizável para desenvolvimento PHP, inspirado no Laravel Sail. Este pacote permite que você configure rapidamente um ambiente de desenvolvimento local com diferentes versões de PHP, bancos de dados (MySQL/PostgreSQL), Redis e Mailpit.
Funcionalidades
- Seleção de Versão PHP: Suporte para múltiplas versões de PHP (atualmente 7.3, 7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5). Pré-configurado com as principais extensões de otimização exigidas pelo Laravel e WordPress (
pdo,mbstring,intl,opcache,mysqli, e outras). - Servidor Web: Pré-configurado com Nginx como proxy reverso roteando requisições HTTP para contêineres rodando PHP-FPM, aumentando a segurança e robustez do ambiente.
- Bancos de Dados: Escolha entre MySQL e PostgreSQL.
- Cache/Fila: Integração com Redis.
- Email Local: Servidor de e-mail local com interface web (Mailpit).
- CLI Simples: Um script
bin/docker-phppara gerenciar seu ambiente Docker facilmente. - Instalação via Composer: Integre o ambiente Docker ao seu projeto PHP com um simples comando Composer.
Instalação
-
Crie seu projeto PHP (se ainda não tiver um):
composer create-project laravel/laravel my-app cd my-app(Ou use qualquer outro projeto PHP)
-
Adicione o pacote
rafapaulino/docker-phpao seu projeto:composer require rafapaulino/docker-php --dev
-
Publique os arquivos Docker:
Após a instalação via Composer, execute o comando para publicar os arquivos Docker no seu projeto. Você pode especificar os serviços que deseja incluir:
./vendor/bin/docker-php-install --with=nginx,mysql,redis,mailpit
Serviços disponíveis:
nginx,mysql,pgsql,redis,mailpit. Por padrão,nginx,mysql,redis,mailpitsão instalados se nenhum--withfor especificado.Este comando criará:
- Um diretório
docker/com os Dockerfiles para as versões PHP suportadas. - Um arquivo
docker-compose.ymlna raiz do seu projeto. - Um script
bin/docker-phpna raiz do seu projeto (certifique-se de quebin/esteja no seu.gitignore).
- Um diretório
Uso
O script bin/docker-php atua como um wrapper para o docker compose e permite interagir com seu ambiente Docker. Certifique-se de que o Docker esteja em execução antes de usar.
Comandos Comuns
-
Iniciar o ambiente: Inicia todos os serviços definidos no
docker-compose.ymlem segundo plano../bin/docker-php up
-
Parar o ambiente: Para todos os serviços.
./bin/docker-php stop
-
Desligar e remover o ambiente: Para e remove todos os contêineres, redes e volumes (exceto volumes de dados persistentes).
./bin/docker-php down
-
Executar um comando no contêiner PHP: Abre um shell bash no contêiner
app../bin/docker-php shell
-
Executar Composer: Executa comandos Composer dentro do contêiner
app../bin/docker-php composer install ./bin/docker-php composer update
-
Executar Artisan (para Laravel): Executa comandos Artisan dentro do contêiner
app../bin/docker-php artisan migrate ./bin/docker-php artisan test -
Executar PHPUnit: Executa testes PHPUnit dentro do contêiner
app../bin/docker-php test -
Outros comandos Docker Compose: Você pode passar qualquer comando
docker composediretamente:./bin/docker-php ps ./bin/docker-php logs -f
Configuração
Versão do PHP
Você pode definir a versão do PHP usando a variável de ambiente PHP_VERSION no seu arquivo .env (ou diretamente no docker-compose.yml). Por exemplo:
PHP_VERSION=8.2
Os Dockerfiles para as versões suportadas estão localizados em docker/php-fpm-{version}/Dockerfile.
Serviços
Os serviços são configurados no docker-compose.yml. Você pode adicionar ou remover serviços editando este arquivo ou executando o comando docker-php:install novamente com diferentes opções --with.
- MySQL/PostgreSQL: As credenciais do banco de dados podem ser configuradas via variáveis de ambiente no seu
.env(ex:DB_DATABASE,DB_USERNAME,DB_PASSWORD,FORWARD_DB_PORT). - Redis: A porta do Redis pode ser configurada via
FORWARD_REDIS_PORT. - Mailpit: As portas do Mailpit podem ser configuradas via
FORWARD_MAILPIT_PORTeFORWARD_MAILPIT_DASHBOARD_PORT.
Adicionando Novas Versões PHP
Para adicionar suporte a uma nova versão do PHP:
- Crie um novo Dockerfile em
stubs/php{version}.Dockerfile.stubdentro do pacotemanus/docker-php(ou diretamente emdocker/php-fpm-{version}/Dockerfileno seu projeto após a publicação). - Atualize o comando
InstallCommand.phppara incluir a nova versão na lista$phpVersions.
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests no repositório do projeto.
Licença
Este projeto é licenciado sob a Licença MIT. Veja o arquivo LICENSE.md para mais detalhes.
rafapaulino/docker-php 适用场景与选型建议
rafapaulino/docker-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 03 月 17 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 rafapaulino/docker-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 rafapaulino/docker-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 38
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-03-17