jtant/dockerize-me

为您的项目添加一些Docker魔法

2.0.0 2017-12-03 10:48 UTC

This package is auto-updated.

Last update: 2024-09-17 07:18:40 UTC


README

dockerize-me 是一个简单而强大的工具,允许您使用 Docker 对您的 PHP 项目进行操作,利用 docker-compose。

它将做4件事...

  • 尝试猜测您正在使用哪个框架。
  • 创建一个包含我们将使用的镜像定义(Dockerfile)的 docker/ 目录。
  • 创建一个 docker-compose.yml 文件来描述服务。
  • 创建一个 'dcp' 工具,该工具将简化您的 Docker 开发工作流程。

...并提供了4个容器

  • app: Nginx 服务器 & PHP-FPM。
  • mysql: MySQL 服务器。
  • redis: Redis 服务器。
  • node: 运行 npm 或 yarn 的容器。

安装

全局安装

第一个选项是使用 composer 全局安装它

composer global require jtant/dockerize-me

您必须确保 $HOME/.composer/vendor/bin 目录存在于您的 $PATH 环境变量中。

按项目安装

如果您不想全局安装,您还可以选择使用 composer require jtant/dockerize-me 在您的项目中安装它。

我可以得到哪个版本?

您可以使用 --php--mysql--redis--node 选项在调用 dockerize-me 时更改版本。

如何使用它?

全局安装

进入您的项目并输入 dockerize-me

按项目安装

进入您的项目并输入 ./vendor/bin/dockerize-me

可用选项

  • --project-name=xx - 更改您的项目名称。默认情况下,它将是文件夹名称。
  • --php=xx - 选择您的 PHP 版本
  • --mysql=xx - 选择您的 MySQL 版本
  • --redis=xx - 选择您的 Redis 版本
  • --node=xx - 选择您的 Node 版本
  • --with-blackfire - 添加 Blackfire(请参阅 https://github.com/JulienTant/dockerize-me/wiki/Installing-Blackfire
  • --force - 覆盖已存在的文件。**如果您已修改生成的文件,您将丢失您的修改!请谨慎使用**
  • --no-interaction-n - 自动回答默认选项的问题。
  • -h - 显示所有选项

此列表可能不完整,我建议您使用 dockerize-me -h 查看所有选项。

两者

在此第一步之后,您可能希望更改 docker-compose.yml 文件以更新数据库信息 - 或更改您的框架以使用这些信息。

要启动容器,只需运行 docker-compose run -d./dcp up

什么是 dcp?

dcp 是安装到您的项目中的一个工具,它将为您提供一些使用 Docker 的快捷方式,并帮助您保持简单的工作流程。

以下是它所能做到的

  • dcp: 显示项目中正在运行的容器。
  • dcp up: 为您的项目启动 Docker 容器。
  • dcp down:停止并删除项目中使用的docker容器(不包括卷)。
  • dcp reload/restart/rs/rl:为dcp up && dcp down的快捷方式。
  • dcp test:在一个新的应用容器中执行./vendor/bin/phpunit
  • dcp t:在应用容器中执行./vendor/bin/phpunit
  • dcp composer:在应用容器中执行composer
  • dcp yarn:在node容器中执行yarn
  • dcp npm:在node容器中执行npm
  • (Laravel特定)dcp artisan:在应用容器中执行php artisan
  • (Symfony2特定)dcp app/console:在应用容器中执行php app/console
  • (Symfony3特定)dcp bin/console:在应用容器中执行php bin/console

作为后备,任何其他命令都将传递给docker-compose

如果需要,请更改dcp文件以适应您的需求!

如果您经常使用dcp,可以在您的.bashrc/.zshrc文件中添加以下别名:alias dcp="./dcp"

如何自定义您的容器

Dockerfile文件都位于docker/文件夹中。您可以在那里做任何想做的事情。

完成更改后,您必须使用./dcp build --no-cache重新构建容器。

如果容器正在运行,您可以使用./dcp rs重新启动它们,或者如果它们没有运行,直接运行./dcp up