jtant / dockerize-me
为您的项目添加一些Docker魔法
Requires
- cocur/slugify: ^3.0
- league/plates: ^3.3
- symfony/console: ~2.5||~3.0
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: 7.1 - 可用:7.0, 7.1
- MySQL: 5.7 - 可用:https://hub.docker.com/_/mysql/
- Redis: 3.2 - 可用:https://hub.docker.com/_/redis/
- Node: 最新版本 - 可用:https://hub.docker.com/_/node/
您可以使用 --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
。