定制 rafapaulino/docker-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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-php para gerenciar seu ambiente Docker facilmente.
  • Instalação via Composer: Integre o ambiente Docker ao seu projeto PHP com um simples comando Composer.

Instalação

  1. 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)

  2. Adicione o pacote rafapaulino/docker-php ao seu projeto:

    composer require rafapaulino/docker-php --dev
  3. 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,mailpit são instalados se nenhum --with for especificado.

    Este comando criará:

    • Um diretório docker/ com os Dockerfiles para as versões PHP suportadas.
    • Um arquivo docker-compose.yml na raiz do seu projeto.
    • Um script bin/docker-php na raiz do seu projeto (certifique-se de que bin/ esteja no seu .gitignore).

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.yml em 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 compose diretamente:

    ./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_PORT e FORWARD_MAILPIT_DASHBOARD_PORT.

Adicionando Novas Versões PHP

Para adicionar suporte a uma nova versão do PHP:

  1. Crie um novo Dockerfile em stubs/php{version}.Dockerfile.stub dentro do pacote manus/docker-php (ou diretamente em docker/php-fpm-{version}/Dockerfile no seu projeto após a publicação).
  2. Atualize o comando InstallCommand.php para 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 我们能提供哪些服务?
定制开发 / 二次开发

基于 rafapaulino/docker-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 38
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-17