1. 将我的项目放在 laradock 的同级目录下:

    * laradock* project-1* project-2
  2. 基于 laradock/nginx/sites 目录内的配置模板,减少对应我的项目的 Nginx 配置文件:

laradock/nginx/sites/app.conf
laradock/nginx/sites/project-1.conf
laradock/nginx/sites/project-2.conf

3. 依据须要批改配置文件的 `root` ,`server_name` ,`error_log` 等配置项;4. 配置 `hosts` 信息:

127.0.0.1 project-1.test
127.0.0.1 project-2.test

5. 启动容器:

docker-compose up -d nginx mysql redis workspace

> php-fpm 会随容器主动启动。6. 进入容器:

docker-compose exec workspace bash

# 以宿主机用户进入容器
docker-compose exec --user=laradock workspace bash

# for Windows PowerShell
docker exec -it {workspace-container-id} bash

> 进入容器后可执行 Artisan, Composer, PHPUnit, Gulp 等命令。7. 测试容器:

<?php

$dsn = "mysql:host=mysql;port=3306;dbname=test";
$pdo = new PDO($dsn, 'root', 'root');
$stmt = $pdo->query("select * from users");
$data = $stmt->fetch(2);
var_dump($data);

echo "

";

$redis = new Redis();
$redis->connect('redis', 6379);
$redis->select(3);
$redis->set('test_count', 3);
var_dump($redis->get('test_count'));

> 因为容器之间相互隔离,所以这里不能应用IP拜访,须要应用服务名进行拜访。8. 拜访 http://project-1.test/ 和 http://project-2.test/ 查看。#### 容器关系图主机能够通过IP拜访容器,但容器之间互相隔离,须要通过服务名拜访。
your machine
                           |                        +------ (virtual network by docker) -------+    |                      |                   |

+-----------------+ +-------------------+ +----------------+
| "php" container | | "redis" container | | "db" container |
+-----------------+ +-------------------+ +----------------+