cnb / dockerino
Docker化的laravel开发环境
v1.0.1
2018-02-23 20:30 UTC
Requires
- php: >=7.1.0
- illuminate/console: ~5.1
- illuminate/contracts: ~5.1
- illuminate/support: ~5.1
- symfony/var-dumper: ~3.0|~4.0
- vlucas/phpdotenv: ^2.4
Requires (Dev)
- phpunit/phpunit: ~4.0|~5.0
This package is not auto-updated.
Last update: 2019-08-02 15:57:12 UTC
README
一个简单的 Artisan 扩展,允许使用docker创建所需的服务的简单扩展,基于.env文件的内容
设置
首先,请确保您已创建了自己的.env文件,根据可能存在于任何Laravel项目中的.env.example文件
cp .env.example .env
命令
可用的命令非常直观,调用php artisan将显示以下内容(以及其他内容)
docker:destroy Destroy Docker machines docker:start Start Docker services, based on .env docker:state Get Docker state docker:stop Stop Docker
MySQL & Redis
Dockerino将读取env文件,并尽可能确定运行项目所需的各项服务。该扩展将忽略大多数部分,除非与外部服务相关。例如,如果.env中包含以下内容:
DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=myapp DB_USERNAME=root DB_PASSWORD=SECRET
Dockerino将创建一个与此配置相匹配的docker机器。目前,所有机器都只有root用户,这是方便的,因为root不需要额外的权限,这可能会减慢开发速度。
如果DB_CONNECTION不是MySQL,则将跳过它,不创建服务。
对于Redis也是如此。如果QUEUE_DRIVER=redis,Dockerino将查找以下部分:
REDIS_HOST=rocketpostredis.devel REDIS_PASSWORD=password REDIS_PORT=6379
如果找到,它将创建适当的服务。
接下来做什么
接下来,您可以使用以下命令在本地运行应用程序:
php artisan serve
如果指定了localhost作为您的host(s),则一切应该运行良好。如果您的host不是localhost,则必须更新etc/hosts文件或使用类似dnsmasq的服务将某些域名重定向到您的本地计算机。
如果您在apache或nginx上运行机器,请确保您的docker机器可以从应用程序访问。