nguonchhay / dockerlaravel
Dockerlaravel 用于增强本地开发
Requires
This package is not auto-updated.
Last update: 2020-07-30 11:07:50 UTC
README
DockerLaravel 创建必要的 Docker 容器(web 服务器、数据库、PHP、邮件、Redis、Couchdb)以运行您的 Laravel 框架项目。该包提供了一个包装脚本在 vendor/bin/dockerlaravel,简化了 Docker 的处理并执行所有必要的配置。
我们创建此包是为了使 Laravel 框架项目的开发更容易,并创建一个简单可重用的包,易于维护并适用于标准项目。
此 Docker 镜像的功能
- PHP: 7.1
- Nginx: 1.7
- Mariadb: 10.3
- Mailhog: 最新版
- Redis: 3.0
- Couchdb: 1.6
安装 docker
https://docs.dockerd.com.cn/installation/ (tested with docker v1.9 - v1.12)
安装 docker-compose
我们使用 docker-compose 进行所有自动配置
https://docs.dockerd.com.cn/compose/install/ (tested with docker-compose v1.5 - v1.6)
仓库包含一个 Dockerfile,每次更改后将在 Docker Hub 上自动构建,并由 docker-compose 用于构建必要的容器。
在 Mac 或 Windows 上
它已经测试过与 docker for Mac 一起工作,但尚未与 docker for Windows 一起工作。请随意尝试并告诉我们您是否无法等待。
将 dockerlaravel 安装到您的发行版中
在您的 composer 中将 nguonchhay/dockerlaravel 添加为开发依赖项。
composer require --dev nguonchhay/dockerlaravel 5.6.*
将 db 指向您的 host
0.0.0.0 db
注意:此步骤在您首次使用 docker 时需要。对于下一个设置,您可以跳过此步骤。
启动 docker 服务
vendor/bin/dockerlaravel up -d
将 domain 指向您的 host
0.0.0.0 your-domain-name test.your-domain-name # port does not need here
启动 docker 服务后,您将获得与根目录完全相同的域名。
示例:
Root directory is `laravel` then your domain name is `laravel:8080`
- Open your website
http://laravel:8080
- Open your test website
http://test.laravel:8080
检查状态
vendor/bin/dockerlaravel ps
为在本地环境中运行配置 .env
APP_ENV=local
APP_KEY=your-generated-key
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=your-local-domain
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=dockerlaravel
DB_USERNAME=root
DB_PASSWORD=root
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=0.0.0.0
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_KEY=
PUSHER_SECRET=
启动 app 服务
vendor/bin/dockerlaravel run app /bin/bash
app 容器是您运行与数据库连接的命令的地方。
启动 db 服务
vendor/bin/dockerlaravel run db /bin/bash
db 容器是您可以检查您的 MySQL 数据库信息的地方。已创建了两个默认数据库:dockerlaravel 和 dockerlaravel_test
注意:服务目前可以是 app、web、data、db、redis 或 couchdb。
访问CouchDB
从您的宿主机,您可以通过Web界面或命令行访问couchdb
Web: http://hostname-couchdb:5984/_utils/ -> 将 hostname 替换为项目名称
命令行: curl -X GET http://hostname-couchdb:5984/_all_dbs
在您的 app 容器内部,您也可以通过命令行访问couchdb
vendor/bin/dockerlaravel run app /bin/bash
curl -X GET http://couchdb:5984/_all_dbs
连接到运行中的服务
运行 vendor/bin/dockerlaravel ps 并复制您想要连接的容器的名称。
使用您刚才复制的名称运行 docker exec -it <containername> /bin/bash。这样您就可以在运行中的容器中工作,而不是创建一个新的容器。
检查容器中的开放端口
vendor/bin/dockerlaravel run SERVICE netstat --listen