共计 1228 个字符,预计需要花费 4 分钟才能阅读完成。
-
将我的项目放在
laradock
的同级目录下:* laradock * project-1 * project-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 |
+—————–+ +——————-+ +—————-+