Merge branch 'master' of https://github.com/laradock/laradock
This commit is contained in:
commit
a7624a7034
@ -8,7 +8,7 @@ env:
|
|||||||
- PHP_VERSION=56
|
- PHP_VERSION=56
|
||||||
- PHP_VERSION=70
|
- PHP_VERSION=70
|
||||||
- PHP_VERSION=71
|
- PHP_VERSION=71
|
||||||
- HUGO_VERSION=0.20
|
- HUGO_VERSION=0.19
|
||||||
|
|
||||||
script: ./_scripts/travis-build.sh
|
script: ./_scripts/travis-build.sh
|
||||||
|
|
||||||
|
256
README-zh.md
256
README-zh.md
@ -5,13 +5,12 @@
|
|||||||
[![Gitter](https://badges.gitter.im/LaraDock/laradock.svg)](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
[![Gitter](https://badges.gitter.im/LaraDock/laradock.svg)](https://gitter.im/LaraDock/laradock?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
|
||||||
|
|
||||||
LaraDock 能够帮你在 **Docker** 上快速搭建 **Laravel** 应用。
|
LaraDock 能够帮你在 **Docker** 上快速搭建 **Laravel** 应用。
|
||||||
<br>
|
|
||||||
就像 Laravel Homestead 一样,但是 Docker 替换了 Vagrant。
|
就像 Laravel Homestead 一样,但是 Docker 替换了 Vagrant。
|
||||||
|
|
||||||
> 先在使用 LaraDock,然后再学习它们。
|
> 先在使用 LaraDock,然后再学习它们。
|
||||||
|
|
||||||
<br>
|
|
||||||
## 目录
|
## 目录
|
||||||
|
|
||||||
- [Intro](#Intro)
|
- [Intro](#Intro)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Supported Software's](#Supported-Containers)
|
- [Supported Software's](#Supported-Containers)
|
||||||
@ -54,26 +53,31 @@ LaraDock能够帮你在**Docker**上快速搭建**Laravel**应用。
|
|||||||
- [Help & Questions](#Help)
|
- [Help & Questions](#Help)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Intro"></a>
|
<a name="Intro"></a>
|
||||||
## 介绍
|
## 介绍
|
||||||
|
|
||||||
LaraDock 努力简化创建开发环境过程。
|
LaraDock 努力简化创建开发环境过程。
|
||||||
它包含预包装 Docker 镜像,提供你一个美妙的开发环境而不需要安装 PHP, NGINX, MySQL 和其他任何软件在你本地机器上。
|
它包含预包装 Docker 镜像,提供你一个美妙的开发环境而不需要安装 PHP, NGINX, MySQL 和其他任何软件在你本地机器上。
|
||||||
|
|
||||||
**使用概览:**
|
**使用概览:**
|
||||||
|
|
||||||
|
|
||||||
让我们了解使用它安装 `NGINX`, `PHP`, `Composer`, `MySQL` 和 `Redis`,然后运行 `Laravel`
|
让我们了解使用它安装 `NGINX`, `PHP`, `Composer`, `MySQL` 和 `Redis`,然后运行 `Laravel`
|
||||||
|
|
||||||
1. 将 LaraDock 放到你的 Laravel 项目中:
|
1. 将 LaraDock 放到你的 Laravel 项目中:
|
||||||
<br>
|
|
||||||
`git clone https://github.com/laradock/laradock.git`.
|
|
||||||
2. 进入LaraDock目录,然后运行这些容器。
|
|
||||||
<br>
|
|
||||||
`docker-compose up -d nginx mysql redis`
|
|
||||||
3. 打开你的`.env`文件,然后设置`mysql`的`DB_HOST` 和 `redis`的`REDIS_HOST`。
|
|
||||||
4. 打开浏览器,访问localhost:
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/laradock/laradock.git
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 进入 LaraDock 目录,然后运行这些容器。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose up -d nginx mysql redis
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 打开你的 `.env` 文件,然后设置 `mysql` 的 `DB_HOST` 和 `redis` 的`REDIS_HOST`。
|
||||||
|
|
||||||
|
4. 打开浏览器,访问 localhost:
|
||||||
|
|
||||||
<a name="features"></a>
|
<a name="features"></a>
|
||||||
### 特点
|
### 特点
|
||||||
@ -82,11 +86,10 @@ LaraDock努力简化创建开发环境过程。
|
|||||||
- 可选择你最喜欢的数据库引擎,比如:MySQL, Postgres, MariaDB...
|
- 可选择你最喜欢的数据库引擎,比如:MySQL, Postgres, MariaDB...
|
||||||
- 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd...
|
- 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd...
|
||||||
- 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI...
|
- 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI...
|
||||||
- 通过简单的编写`dockerfile`容易定制任何容器。
|
- 通过简单的编写 `Dockerfile` 容易定制任何容器。
|
||||||
- 所有镜像继承自一个官方基础镜像(Trusted base Images)
|
- 所有镜像继承自一个官方基础镜像(Trusted base Images)
|
||||||
- 可预配置Laravel的Nginx环境
|
- 可预配置Laravel的Nginx环境
|
||||||
- 容易应用容器中的配置
|
- 容易应用容器中的配置 配置文件(`Dockerfile`)
|
||||||
- 干净的结构化的Docker配置文件(`dockerfile`)
|
|
||||||
- 最新的 Docker Compose 版本(`docker-compose`)
|
- 最新的 Docker Compose 版本(`docker-compose`)
|
||||||
- 所有的都是可视化和可编辑的
|
- 所有的都是可视化和可编辑的
|
||||||
- 快速的镜像构建
|
- 快速的镜像构建
|
||||||
@ -115,6 +118,7 @@ LaraDock努力简化创建开发环境过程。
|
|||||||
- Beanstalkd (+ Beanstalkd Console)
|
- Beanstalkd (+ Beanstalkd Console)
|
||||||
- **工具:**
|
- **工具:**
|
||||||
- Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, Vim, Nano, cURL...)
|
- Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, Vim, Nano, cURL...)
|
||||||
|
|
||||||
>如果你找不到你需要的软件,构建它然后把它添加到这个列表。你的贡献是受欢迎的。
|
>如果你找不到你需要的软件,构建它然后把它添加到这个列表。你的贡献是受欢迎的。
|
||||||
|
|
||||||
<a name="what-is-docker"></a>
|
<a name="what-is-docker"></a>
|
||||||
@ -127,7 +131,6 @@ LaraDock努力简化创建开发环境过程。
|
|||||||
|
|
||||||
额,这很认真的!!!
|
额,这很认真的!!!
|
||||||
|
|
||||||
|
|
||||||
<a name="why-docker-not-vagrant"></a>
|
<a name="why-docker-not-vagrant"></a>
|
||||||
### 为什么使用 Docker 而不是 Vagrant!?
|
### 为什么使用 Docker 而不是 Vagrant!?
|
||||||
|
|
||||||
@ -147,8 +150,6 @@ Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。V
|
|||||||
|
|
||||||
运行一个虚拟容器比运行一整个虚拟机快多了 **LaraDock 比 Homestead 快多了**
|
运行一个虚拟容器比运行一整个虚拟机快多了 **LaraDock 比 Homestead 快多了**
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Demo"></a>
|
<a name="Demo"></a>
|
||||||
## 演示视频
|
## 演示视频
|
||||||
还有什么比**演示视频**好:
|
还有什么比**演示视频**好:
|
||||||
@ -158,20 +159,15 @@ Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。V
|
|||||||
- LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
- LaraDock [v0.3](https://www.youtube.com/watch?v=jGkyO6Is_aI)
|
||||||
- LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80)
|
- LaraDock [v0.1](https://www.youtube.com/watch?v=3YQsHe6oF80)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Requirements"></a>
|
<a name="Requirements"></a>
|
||||||
## 依赖
|
## 依赖
|
||||||
|
|
||||||
- [Git](https://git-scm.com/downloads)
|
- [Git](https://git-scm.com/downloads)
|
||||||
- [Docker](https://www.docker.com/products/docker/)
|
- [Docker](https://www.docker.com/products/docker/)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Installation"></a>
|
<a name="Installation"></a>
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
|
|
||||||
1 - 克隆 `LaraDock` 仓库:
|
1 - 克隆 `LaraDock` 仓库:
|
||||||
|
|
||||||
**A)** 如果你已经有一个 Laravel 项目,克隆这个仓库在到 `Laravel` 根目录
|
**A)** 如果你已经有一个 Laravel 项目,克隆这个仓库在到 `Laravel` 根目录
|
||||||
@ -179,8 +175,8 @@ Homestead 是一个工具,为你控制虚拟机(使用Homestead特殊命令)。V
|
|||||||
```bash
|
```bash
|
||||||
git submodule add https://github.com/laradock/laradock.git
|
git submodule add https://github.com/laradock/laradock.git
|
||||||
```
|
```
|
||||||
>如果你不是使用Git管理Laravel项目,您可以使用 `git clone` 而不是`git submodule`。
|
|
||||||
|
|
||||||
|
>如果你不是使用 Git 管理 Laravel 项目,您可以使用 `git clone` 而不是 `git submodule`。
|
||||||
|
|
||||||
**B)** 如果你没有一个 Laravel 项目,你想 Docker 安装 Laravel,克隆这个源在您的机器任何地方上:
|
**B)** 如果你没有一个 Laravel 项目,你想 Docker 安装 Laravel,克隆这个源在您的机器任何地方上:
|
||||||
|
|
||||||
@ -188,24 +184,17 @@ git submodule add https://github.com/laradock/laradock.git
|
|||||||
git clone https://github.com/laradock/laradock.git
|
git clone https://github.com/laradock/laradock.git
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Usage"></a>
|
<a name="Usage"></a>
|
||||||
## 使用
|
## 使用
|
||||||
|
|
||||||
|
|
||||||
**请在开始之前阅读:**
|
**请在开始之前阅读:**
|
||||||
如果你正在使用 **Docker Toolbox** (VM),选择以下任何一个方法:
|
如果你正在使用 **Docker Toolbox** (VM),选择以下任何一个方法:
|
||||||
- 更新到 Docker [Native](https://www.docker.com/products/docker) Mac/Windows 版本 (建议). 查看 [Upgrading LaraDock](#upgrading-laradock)
|
- 更新到 Docker [Native](https://www.docker.com/products/docker) Mac/Windows 版本 (建议). 查看 [Upgrading LaraDock](#upgrading-laradock)
|
||||||
- 使用 LaraDock v3.* (访问 `LaraDock-ToolBox` [分支](https://github.com/laradock/laradock/tree/LaraDock-ToolBox)).
|
- 使用 LaraDock v3.* (访问 `LaraDock-ToolBox` [分支](https://github.com/laradock/laradock/tree/LaraDock-ToolBox)).
|
||||||
如果您使用的是 **Docker Native**(Mac / Windows 版本)甚至是 Linux 版本,通常可以继续阅读这个文档,LaraDock v4 以上版本将仅支持 **Docker Native**。
|
如果您使用的是 **Docker Native**(Mac / Windows 版本)甚至是 Linux 版本,通常可以继续阅读这个文档,LaraDock v4 以上版本将仅支持 **Docker Native**。
|
||||||
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
1 - 运行容器: *(在运行 `docker-compose` 命令之前,确认你在 `laradock` 目录中*
|
1 - 运行容器: *(在运行 `docker-compose` 命令之前,确认你在 `laradock` 目录中*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
**例子:** 运行 NGINX 和 MySQL:
|
**例子:** 运行 NGINX 和 MySQL:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -213,26 +202,18 @@ docker-compose up -d nginx mysql
|
|||||||
```
|
```
|
||||||
你可以从以下列表选择你自己的容器组合:
|
你可以从以下列表选择你自己的容器组合:
|
||||||
|
|
||||||
|
|
||||||
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`.
|
`nginx`, `hhvm`, `php-fpm`, `mysql`, `redis`, `postgres`, `mariadb`, `neo4j`, `mongo`, `apache2`, `caddy`, `memcached`, `beanstalkd`, `beanstalkd-console`, `workspace`.
|
||||||
|
|
||||||
|
|
||||||
**说明**: `workspace` 和 `php-fpm` 将运行在大部分实例中, 所以不需要在 `up` 命令中加上它们.
|
**说明**: `workspace` 和 `php-fpm` 将运行在大部分实例中, 所以不需要在 `up` 命令中加上它们.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
2 - 进入 Workspace 容器, 执行像 (Artisan, Composer, PHPUnit, Gulp, ...)等命令
|
2 - 进入 Workspace 容器, 执行像 (Artisan, Composer, PHPUnit, Gulp, ...)等命令
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose exec workspace bash
|
docker-compose exec workspace bash
|
||||||
```
|
```
|
||||||
<br />
|
|
||||||
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件. (你可以从 `docker-compose.yml`修改 PUID (User id) 和 PGID (group id) 值 ).
|
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件. (你可以从 `docker-compose.yml`修改 PUID (User id) 和 PGID (group id) 值 ).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
3 - 编辑 Laravel 的配置.
|
3 - 编辑 Laravel 的配置.
|
||||||
|
|
||||||
如果你还没有安装 Laravel 项目,请查看 [How to Install Laravel in a Docker Container](#Install-Laravel).
|
如果你还没有安装 Laravel 项目,请查看 [How to Install Laravel in a Docker Container](#Install-Laravel).
|
||||||
@ -243,47 +224,28 @@ docker-compose exec workspace bash
|
|||||||
DB_HOST=mysql
|
DB_HOST=mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
4 - 打开浏览器访问 localhost (`http://localhost/`).
|
4 - 打开浏览器访问 localhost (`http://localhost/`).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
**调试**: 如果你碰到任何问题,请查看 [调试](#debugging) 章节
|
**调试**: 如果你碰到任何问题,请查看 [调试](#debugging) 章节
|
||||||
如果你需要特别支持,请联系我,更多细节在[帮助 & 问题](#Help)章节
|
如果你需要特别支持,请联系我,更多细节在[帮助 & 问题](#Help)章节
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Documentation"></a>
|
<a name="Documentation"></a>
|
||||||
## 文档
|
## 文档
|
||||||
|
|
||||||
|
|
||||||
<a name="Docker"></a>
|
<a name="Docker"></a>
|
||||||
### [Docker]
|
### [Docker]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="List-current-running-Containers"></a>
|
<a name="List-current-running-Containers"></a>
|
||||||
### 列出正在运行的容器
|
### 列出正在运行的容器
|
||||||
```bash
|
```bash
|
||||||
docker ps
|
docker ps
|
||||||
```
|
```
|
||||||
|
|
||||||
你也可以使用以下命令查看某项目的容器
|
你也可以使用以下命令查看某项目的容器
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose ps
|
docker-compose ps
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Close-all-running-Containers"></a>
|
<a name="Close-all-running-Containers"></a>
|
||||||
### 关闭所有容器
|
### 关闭所有容器
|
||||||
```bash
|
```bash
|
||||||
@ -296,21 +258,14 @@ docker-compose stop
|
|||||||
docker-compose stop {容器名称}
|
docker-compose stop {容器名称}
|
||||||
```
|
```
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Delete-all-existing-Containers"></a>
|
<a name="Delete-all-existing-Containers"></a>
|
||||||
### 删除所有容器
|
### 删除所有容器
|
||||||
```bash
|
```bash
|
||||||
docker-compose down
|
docker-compose down
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
小心这个命令,因为它也会删除你的数据容器。(如果你想保留你的数据你应该在上述命令后列出容器名称删除每个容器本身):*
|
小心这个命令,因为它也会删除你的数据容器。(如果你想保留你的数据你应该在上述命令后列出容器名称删除每个容器本身):*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Enter-Container"></a>
|
<a name="Enter-Container"></a>
|
||||||
### 进入容器 (通过 SSH 进入一个运行中的容器)
|
### 进入容器 (通过 SSH 进入一个运行中的容器)
|
||||||
|
|
||||||
@ -331,12 +286,6 @@ docker-compose exec mysql bash
|
|||||||
3 - 退出容器, 键入 `exit`.
|
3 - 退出容器, 键入 `exit`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Edit-Container"></a>
|
<a name="Edit-Container"></a>
|
||||||
### 编辑默认容器配置
|
### 编辑默认容器配置
|
||||||
打开 `docker-compose.yml` 然后 按照你想的修改.
|
打开 `docker-compose.yml` 然后 按照你想的修改.
|
||||||
@ -357,18 +306,10 @@ docker-compose exec mysql bash
|
|||||||
- "1111:6379"
|
- "1111:6379"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Edit-a-Docker-Image"></a>
|
<a name="Edit-a-Docker-Image"></a>
|
||||||
### 编辑 Docker 镜像
|
### 编辑 Docker 镜像
|
||||||
|
|
||||||
1 - 找到你想修改的镜像的 `dockerfile` ,
|
1 - 找到你想修改的镜像的 `Dockerfile` ,
|
||||||
<br>
|
<br>
|
||||||
例如: `mysql` 在 `mysql/Dockerfile`.
|
例如: `mysql` 在 `mysql/Dockerfile`.
|
||||||
|
|
||||||
@ -379,28 +320,19 @@ docker-compose exec mysql bash
|
|||||||
```bash
|
```bash
|
||||||
docker-compose build mysql
|
docker-compose build mysql
|
||||||
```
|
```
|
||||||
|
|
||||||
更多信息在容器重建中[点击这里](#Build-Re-build-Containers).
|
更多信息在容器重建中[点击这里](#Build-Re-build-Containers).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Build-Re-build-Containers"></a>
|
<a name="Build-Re-build-Containers"></a>
|
||||||
### 建立/重建容器
|
### 建立/重建容器
|
||||||
|
|
||||||
|
如果你做任何改变 `Dockerfile` 确保你运行这个命令,可以让所有修改更改生效:
|
||||||
如果你做任何改变`dockerfile`确保你运行这个命令,可以让所有修改更改生效:
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose build
|
docker-compose build
|
||||||
```
|
```
|
||||||
选择你可以指定哪个容器重建(而不是重建所有的容器):
|
|
||||||
|
|
||||||
|
选择你可以指定哪个容器重建(而不是重建所有的容器):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose build {container-name}
|
docker-compose build {container-name}
|
||||||
@ -408,25 +340,11 @@ docker-compose build {container-name}
|
|||||||
|
|
||||||
如果你想重建整个容器,你可能需要使用 `--no-cache` 选项 (`docker-compose build --no-cache {container-name}`).
|
如果你想重建整个容器,你可能需要使用 `--no-cache` 选项 (`docker-compose build --no-cache {container-name}`).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Add-Docker-Images"></a>
|
<a name="Add-Docker-Images"></a>
|
||||||
### 增加更多软件 (Docker 镜像)
|
### 增加更多软件 (Docker 镜像)
|
||||||
|
|
||||||
为了增加镜像(软件), 编辑 `docker-compose.yml` 添加容器细节, 你需要熟悉 [docker compose 文件语法](https://docs.docker.com/compose/compose-file/).
|
为了增加镜像(软件), 编辑 `docker-compose.yml` 添加容器细节, 你需要熟悉 [docker compose 文件语法](https://docs.docker.com/compose/compose-file/).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="View-the-Log-files"></a>
|
<a name="View-the-Log-files"></a>
|
||||||
### 查看日志文件
|
### 查看日志文件
|
||||||
Nginx的日志在 `logs/nginx` 目录
|
Nginx的日志在 `logs/nginx` 目录
|
||||||
@ -437,19 +355,12 @@ Nginx的日志在 `logs/nginx` 目录
|
|||||||
docker logs {container-name}
|
docker logs {container-name}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Laravel"></a>
|
<a name="Laravel"></a>
|
||||||
### [Laravel]
|
### [Laravel]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Install-Laravel"></a>
|
<a name="Install-Laravel"></a>
|
||||||
### 从 Docker 镜像安装 Laravel
|
### 从 Docker 镜像安装 Laravel
|
||||||
|
|
||||||
1 - 首先你需要进入 Workspace 容器.
|
1 - 首先你需要进入 Workspace 容器.
|
||||||
|
|
||||||
2 - 安装 Laravel.
|
2 - 安装 Laravel.
|
||||||
@ -466,8 +377,7 @@ composer create-project laravel/laravel my-cool-app "5.2.*"
|
|||||||
|
|
||||||
|
|
||||||
3 - 编辑 `docker-compose.yml` 映射新的应用目录:
|
3 - 编辑 `docker-compose.yml` 映射新的应用目录:
|
||||||
系统默认LaraDock假定Laravel应用在LaraDock的父级目录中
|
系统默认 LaraDock 假定 Laravel 应用在 laradock 的父级目录中
|
||||||
By default LaraDock assumes the Laravel application is living in the parent directory of the laradock folder.
|
|
||||||
|
|
||||||
更新 Laravel 应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
|
更新 Laravel 应用在 `my-cool-app` 目录中, 我们需要用 `../my-cool-app/:/var/www`替换 `../:/var/www` , 如下:
|
||||||
|
|
||||||
@ -477,17 +387,18 @@ By default LaraDock assumes the Laravel application is living in the parent dire
|
|||||||
volumes:
|
volumes:
|
||||||
- ../my-cool-app/:/var/www
|
- ../my-cool-app/:/var/www
|
||||||
```
|
```
|
||||||
|
|
||||||
4 - 进入目录下继续工作..
|
4 - 进入目录下继续工作..
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd my-cool-app
|
cd my-cool-app
|
||||||
```
|
```
|
||||||
|
|
||||||
5 - 回到LaraDock安装步骤,看看如何编辑`env`的文件。
|
5 - 回到 LaraDock 安装步骤,看看如何编辑 `.env` 的文件。
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Run-Artisan-Commands"></a>
|
<a name="Run-Artisan-Commands"></a>
|
||||||
### 运行 Artisan 命令
|
### 运行 Artisan 命令
|
||||||
|
|
||||||
你可以从 Workspace 容器运行 artisan 命令和其他终端命令
|
你可以从 Workspace 容器运行 artisan 命令和其他终端命令
|
||||||
|
|
||||||
1 - 确认 Workspace 容器已经运行.
|
1 - 确认 Workspace 容器已经运行.
|
||||||
@ -510,25 +421,22 @@ docker-compose exec workspace bash
|
|||||||
|
|
||||||
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件.
|
增加 `--user=laradock` (例如 `docker-compose exec --user=laradock workspace bash`) 作为您的主机的用户创建的文件.
|
||||||
|
|
||||||
|
|
||||||
4 - 运行任何你想的 :)
|
4 - 运行任何你想的 :)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
php artisan
|
php artisan
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
Composer update
|
composer update
|
||||||
```
|
```
|
||||||
```bash
|
```bash
|
||||||
phpunit
|
phpunit
|
||||||
```
|
```
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Use-Redis"></a>
|
<a name="Use-Redis"></a>
|
||||||
### 使用 Redis
|
### 使用 Redis
|
||||||
1 - 首先务必用 `docker-compose up` 命令运行 (`redis`) 容器.
|
1 - 首先务必用 `docker-compose up` 命令运行 (`redis`) 容器.
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker-compose up -d redis
|
docker-compose up -d redis
|
||||||
```
|
```
|
||||||
@ -538,6 +446,7 @@ docker-compose up -d redis
|
|||||||
```env
|
```env
|
||||||
REDIS_HOST=redis
|
REDIS_HOST=redis
|
||||||
```
|
```
|
||||||
|
|
||||||
如果在你的 `.env` 文件没有找到 `REDIS_HOST` 变量。打开数据库配置文件 `config/database.php` 然后用 `redis` 替换默认 IP `127.0.0.1`,例如:
|
如果在你的 `.env` 文件没有找到 `REDIS_HOST` 变量。打开数据库配置文件 `config/database.php` 然后用 `redis` 替换默认 IP `127.0.0.1`,例如:
|
||||||
|
|
||||||
|
|
||||||
@ -559,7 +468,7 @@ CACHE_DRIVER=redis
|
|||||||
SESSION_DRIVER=redis
|
SESSION_DRIVER=redis
|
||||||
```
|
```
|
||||||
|
|
||||||
4 - 最好务必通过Compose安装 `predis/predis` 包 `(~1.0)`:
|
4 - 最好务必通过 Composer 安装 `predis/predis` 包 `(~1.0)`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
composer require predis/predis:^1.0
|
composer require predis/predis:^1.0
|
||||||
@ -571,24 +480,15 @@ composer require predis/predis:^1.0
|
|||||||
\Cache::store('redis')->put('LaraDock', 'Awesome', 10);
|
\Cache::store('redis')->put('LaraDock', 'Awesome', 10);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Use-Mongo"></a>
|
<a name="Use-Mongo"></a>
|
||||||
### 使用 Mongo
|
### 使用 Mongo
|
||||||
|
|
||||||
1 - 首先在 Workspace 和 PHP-FPM 容器中安装 `mongo`:
|
1 - 首先在 Workspace 和 PHP-FPM 容器中安装 `mongo`:
|
||||||
<br>
|
|
||||||
a) 打开 `docker-compose.yml` 文件
|
|
||||||
<br>
|
|
||||||
b) 在Workspace容器中找到`INSTALL_MONGO`选项:
|
|
||||||
|
|
||||||
<br>
|
a) 打开 `docker-compose.yml` 文件
|
||||||
|
b) 在 Workspace 容器中找到 `INSTALL_MONGO` 选项:
|
||||||
c) 设置为 `true`
|
c) 设置为 `true`
|
||||||
<br>
|
d) 在 PHP-FPM 容器中找到 `INSTALL_MONGO`
|
||||||
d) 在PHP-FPM容器中找到`INSTALL_MONGO` <br>
|
|
||||||
e) 设置为 `true`
|
e) 设置为 `true`
|
||||||
|
|
||||||
相关配置项如下:
|
相关配置项如下:
|
||||||
@ -608,9 +508,11 @@ e) 设置为 `true`
|
|||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
2 - 重建`Workspace、PHP-FPM`容器 `docker-compose build workspace php-fpm`
|
2 - 重建 `Workspace、PHP-FPM` 容器
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker-compose build workspace php-fpm
|
||||||
|
```
|
||||||
|
|
||||||
3 - 使用 `docker-compose up` 命令运行 MongoDB 容器 (`mongo`)
|
3 - 使用 `docker-compose up` 命令运行 MongoDB 容器 (`mongo`)
|
||||||
|
|
||||||
@ -618,7 +520,6 @@ e) 设置为 `true`
|
|||||||
docker-compose up -d mongo
|
docker-compose up -d mongo
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
4 - 在 `config/database.php` 文件添加 MongoDB 的配置项:
|
4 - 在 `config/database.php` 文件添加 MongoDB 的配置项:
|
||||||
|
|
||||||
```php
|
```php
|
||||||
@ -654,6 +555,7 @@ docker-compose up -d mongo
|
|||||||
```bash
|
```bash
|
||||||
composer require jenssegers/mongodb
|
composer require jenssegers/mongodb
|
||||||
```
|
```
|
||||||
|
|
||||||
更多细节内容 [点击这儿](https://github.com/jenssegers/laravel-mongodb#installation).
|
更多细节内容 [点击这儿](https://github.com/jenssegers/laravel-mongodb#installation).
|
||||||
|
|
||||||
7 - 测试:
|
7 - 测试:
|
||||||
@ -662,37 +564,24 @@ composer require jenssegers/mongodb
|
|||||||
- 进入 Workspace 容器.
|
- 进入 Workspace 容器.
|
||||||
- 迁移数据库 `php artisan migrate`.
|
- 迁移数据库 `php artisan migrate`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="PHP"></a>
|
<a name="PHP"></a>
|
||||||
### [PHP]
|
### [PHP]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="Install-PHP-Extensions"></a>
|
<a name="Install-PHP-Extensions"></a>
|
||||||
### 安装 PHP 拓展
|
### 安装 PHP 拓展
|
||||||
|
|
||||||
安装 PHP 扩展之前,你必须决定你是否需要 `FPM` 或 `CLI`,因为他们安装在不同的容器上,如果你需要两者,则必须编辑两个容器。
|
安装 PHP 扩展之前,你必须决定你是否需要 `FPM` 或 `CLI`,因为他们安装在不同的容器上,如果你需要两者,则必须编辑两个容器。
|
||||||
|
|
||||||
PHP-FPM 拓展务必安装在 `php-fpm/Dockerfile-XX`. *(用你 PHP 版本号替换 XX)*.
|
PHP-FPM 拓展务必安装在 `php-fpm/Dockerfile-XX`. *(用你 PHP 版本号替换 XX)*.
|
||||||
<br>
|
|
||||||
PHP-CLI 拓展应该安装到 `workspace/Dockerfile`.
|
PHP-CLI 拓展应该安装到 `workspace/Dockerfile`.
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Change-the-PHP-FPM-Version"></a>
|
<a name="Change-the-PHP-FPM-Version"></a>
|
||||||
### 修改 PHP-FPM 版本
|
### 修改 PHP-FPM 版本
|
||||||
默认运行 **PHP-FPM 7.0** 版本.
|
默认运行 **PHP-FPM 7.0** 版本.
|
||||||
|
|
||||||
>PHP-FPM 负责服务你的应用代码,如果你是计划运行您的应用程序在不同 PHP-FPM 版本上,则不需要更改 PHP-CLI 版本。
|
>PHP-FPM 负责服务你的应用代码,如果你是计划运行您的应用程序在不同 PHP-FPM 版本上,则不需要更改 PHP-CLI 版本。
|
||||||
|
|
||||||
|
|
||||||
#### A) 切换版本 PHP `7.0` 到 PHP `5.6`
|
#### A) 切换版本 PHP `7.0` 到 PHP `5.6`
|
||||||
|
|
||||||
1 - 打开 `docker-compose.yml`。
|
1 - 打开 `docker-compose.yml`。
|
||||||
@ -722,7 +611,7 @@ docker-compose build php
|
|||||||
|
|
||||||
1 - 克隆 `https://github.com/laradock/php-fpm`.
|
1 - 克隆 `https://github.com/laradock/php-fpm`.
|
||||||
|
|
||||||
3 - 重命名 `Dockerfile-56` 为 `Dockerfile-55`.
|
2 - 重命名 `Dockerfile-56` 为 `Dockerfile-55`.
|
||||||
|
|
||||||
3 - 编辑文件 `FROM php:5.6-fpm` 为 `FROM php:5.5-fpm`.
|
3 - 编辑文件 `FROM php:5.6-fpm` 为 `FROM php:5.5-fpm`.
|
||||||
|
|
||||||
@ -733,17 +622,6 @@ docker-compose build php
|
|||||||
6 - 将 `php-fpm` 指向你的 `Dockerfile-55` 文件.
|
6 - 将 `php-fpm` 指向你的 `Dockerfile-55` 文件.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Change-the-PHP-CLI-Version"></a>
|
<a name="Change-the-PHP-CLI-Version"></a>
|
||||||
### 修改 PHP-CLI 版本
|
### 修改 PHP-CLI 版本
|
||||||
默认运行 **PHP-CLI 7.0** 版本
|
默认运行 **PHP-CLI 7.0** 版本
|
||||||
@ -752,22 +630,15 @@ docker-compose build php
|
|||||||
PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `workspace/Dockerfile`.
|
PHP-CLI 安装在 Workspace 容器,改变 PHP-CLI 版本你需要编辑 `workspace/Dockerfile`.
|
||||||
现在你必须手动修改 PHP-FPM 的 `Dockerfile` 或者创建一个新的。 (可以考虑贡献功能).
|
现在你必须手动修改 PHP-FPM 的 `Dockerfile` 或者创建一个新的。 (可以考虑贡献功能).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Install-xDebug"></a>
|
<a name="Install-xDebug"></a>
|
||||||
### 安装 xDebug
|
### 安装 xDebug
|
||||||
|
|
||||||
1 - 首先在 Workspace 和 PHP-FPM 容器安装 `xDebug`:
|
1 - 首先在 Workspace 和 PHP-FPM 容器安装 `xDebug`:
|
||||||
<br>
|
|
||||||
a) 打开 `docker-compose.yml` 文件
|
a) 打开 `docker-compose.yml` 文件
|
||||||
<br>
|
|
||||||
b) 在 Workspace 容器中找到 `INSTALL_XDEBUG` 选项
|
b) 在 Workspace 容器中找到 `INSTALL_XDEBUG` 选项
|
||||||
<br>
|
|
||||||
c) 改为 `true`
|
c) 改为 `true`
|
||||||
<br>
|
d) 在 PHP-FPM 容器中找到 `INSTALL_XDEBUG ` 选项
|
||||||
d) 在PHP-FPM容器中找到 `INSTALL_XDEBUG ` 选项<br>
|
|
||||||
e) 改为 `true`
|
e) 改为 `true`
|
||||||
|
|
||||||
例如:
|
例如:
|
||||||
@ -789,14 +660,9 @@ e) 改为 `true`
|
|||||||
|
|
||||||
2 - 重建容器 `docker-compose build workspace php-fpm`
|
2 - 重建容器 `docker-compose build workspace php-fpm`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Misc"></a>
|
<a name="Misc"></a>
|
||||||
### [Misc]
|
### [Misc]
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Use-custom-Domain"></a>
|
<a name="Use-custom-Domain"></a>
|
||||||
### 使用自定义域名 (替换 Docker 的 IP)
|
### 使用自定义域名 (替换 Docker 的 IP)
|
||||||
|
|
||||||
@ -811,14 +677,10 @@ e) 改为 `true`
|
|||||||
|
|
||||||
你可以在 nginx 配置文件自定义服务器名称,如下:
|
你可以在 nginx 配置文件自定义服务器名称,如下:
|
||||||
|
|
||||||
|
|
||||||
```conf
|
```conf
|
||||||
server_name laravel.dev;
|
server_name laravel.dev;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Enable-Global-Composer-Build-Install"></a>
|
<a name="Enable-Global-Composer-Build-Install"></a>
|
||||||
### 安装全局 Composer 命令
|
### 安装全局 Composer 命令
|
||||||
|
|
||||||
@ -842,14 +704,11 @@ server_name laravel.dev;
|
|||||||
|
|
||||||
4 - 重建 Workspace 容器 `docker-compose build workspace`
|
4 - 重建 Workspace 容器 `docker-compose build workspace`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Install-Prestissimo"></a>
|
<a name="Install-Prestissimo"></a>
|
||||||
### 安装 Prestissimo
|
### 安装 Prestissimo
|
||||||
|
|
||||||
[Prestissimo](https://github.com/hirak/prestissimo) 是一个平行安装功能的 composer 插件。
|
[Prestissimo](https://github.com/hirak/prestissimo) 是一个平行安装功能的 composer 插件。
|
||||||
|
|
||||||
1 - 在安装期间,使全局 Composer Install 正在运行:
|
1 - 在安装期间,使全局 Composer Install 正在运行:
|
||||||
|
|
||||||
点击这个 [启用全局 Composer 构建安装](#Enable-Global-Composer-Build-Install) 然后继续步骤1、2.
|
点击这个 [启用全局 Composer 构建安装](#Enable-Global-Composer-Build-Install) 然后继续步骤1、2.
|
||||||
@ -863,13 +722,11 @@ b - 添加 `"hirak/prestissimo": "^0.3"` 依赖
|
|||||||
c - 重建 Workspace 容器 `docker-compose build workspace`
|
c - 重建 Workspace 容器 `docker-compose build workspace`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="Install-Node"></a>
|
<a name="Install-Node"></a>
|
||||||
### 安装 Node + NVM
|
### 安装 Node + NVM
|
||||||
|
|
||||||
在 Workspace 容器安装 NVM 和 NodeJS
|
在 Workspace 容器安装 NVM 和 NodeJS
|
||||||
|
|
||||||
1 - 打开 `docker-compose.yml` 文件
|
1 - 打开 `docker-compose.yml` 文件
|
||||||
|
|
||||||
2 - 在 Workspace 容器找到 `INSTALL_NODE` 选项设为 `true`
|
2 - 在 Workspace 容器找到 `INSTALL_NODE` 选项设为 `true`
|
||||||
@ -887,9 +744,6 @@ c - 重建Workspace容器 `docker-compose build workspace`
|
|||||||
|
|
||||||
3 - 重建容器 `docker-compose build workspace`
|
3 - 重建容器 `docker-compose build workspace`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="debugging"></a>
|
<a name="debugging"></a>
|
||||||
### Debugging
|
### Debugging
|
||||||
|
|
||||||
@ -911,8 +765,6 @@ sudo chmod -R 777 storage bootstrap/cache
|
|||||||
|
|
||||||
确保你想运行的服务端口(80, 3306, etc.)不是已经被其他程序使用,例如 `apache`/`httpd` 服务或其他安装的开发工具
|
确保你想运行的服务端口(80, 3306, etc.)不是已经被其他程序使用,例如 `apache`/`httpd` 服务或其他安装的开发工具
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<a name="upgrading-laradock"></a>
|
<a name="upgrading-laradock"></a>
|
||||||
### LaraDock 升级
|
### LaraDock 升级
|
||||||
|
|
||||||
@ -925,16 +777,12 @@ sudo chmod -R 777 storage bootstrap/cache
|
|||||||
4. 像之前一样使用 LaraDock: `docker-compose up -d nginx mysql`.
|
4. 像之前一样使用 LaraDock: `docker-compose up -d nginx mysql`.
|
||||||
|
|
||||||
**说明:** 如果你面临任何上面的问题的最后一步:重建你所有的容器
|
**说明:** 如果你面临任何上面的问题的最后一步:重建你所有的容器
|
||||||
`docker-compose build --no-cache`
|
```bash
|
||||||
|
docker-compose build --no-cache
|
||||||
|
```
|
||||||
"警告:容器数据可能会丢失!"
|
"警告:容器数据可能会丢失!"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<br>
|
|
||||||
## 贡献
|
## 贡献
|
||||||
这个小项目是由一个有一个全职工作和很多的职责的人建立的,所以如果你喜欢这个项目,并且发现它需要一个 bug 修复或支持或新软件或升级任何容器,或其他任何. . 你是非常欢迎,欢迎毫不不犹豫地贡献吧:)
|
这个小项目是由一个有一个全职工作和很多的职责的人建立的,所以如果你喜欢这个项目,并且发现它需要一个 bug 修复或支持或新软件或升级任何容器,或其他任何. . 你是非常欢迎,欢迎毫不不犹豫地贡献吧:)
|
||||||
|
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
#### Build the Docker Images
|
#### Build the Docker Images
|
||||||
if [ -n "${PHP_VERSION}" ]; then
|
if [ -n "${PHP_VERSION}" ]; then
|
||||||
cp env-example .env
|
cp env-example .env
|
||||||
|
sed -i -- 's/=false/=true/g' .env
|
||||||
|
cat .env
|
||||||
docker-compose build
|
docker-compose build
|
||||||
docker images
|
docker images
|
||||||
fi
|
fi
|
||||||
|
@ -450,6 +450,7 @@ services:
|
|||||||
- php-fpm
|
- php-fpm
|
||||||
networks:
|
networks:
|
||||||
- frontend
|
- frontend
|
||||||
|
- backend
|
||||||
|
|
||||||
### Certbot Container ##################################
|
### Certbot Container ##################################
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user