2323
2424目前支持开箱即用的服务有:
2525
26- 1 . Mysql5.7(使用官方镜像)
27- 2 . Mysql8.3(使用官方镜像)
28- 3 . phpMyAdmin(使用官方镜像)
29- 4 . Redis7.2(使用官方镜像)
30- 5 . phpRedisAdmin(使用官方镜像)
31- 6 . Memcached(使用官方镜像)
32- 7 . PHP8.3/PHP8.2/PHP8.1/PHP8.0/PHP7.4/PHP7.3(使用基于官方的集成镜像 [ suyar/php: x .x-integration] ( https://github.com/suyar/docker-php#%E9%9B%86%E6%88%90%E9%95%9C%E5%83%8F ) )
33- 8 . Nginx(使用官方镜像)
34- 9 . RabbitMQ(使用官方镜像)
35- 10 . MongoDB(使用官方镜像)
36- 11 . Mongo-Express(使用官方镜像)
37- 12 . Elasticsearch(使用官方镜像)
38- 13 . Kibana(使用官方镜像)
26+ 1 . mysql:8.0.37-debian(官方镜像)
27+ 2 . redis:7.0.15(官方镜像)
28+ 3 . memcached:1(官方镜像)
29+ 4 . PHP8.3/PHP8.2/PHP8.1/PHP8.0/PHP7.4/PHP7.3(基于官方的集成镜像 [ suyar/php: x .x-integration] ( https://github.com/suyar/docker-php#%E9%9B%86%E6%88%90%E9%95%9C%E5%83%8F ) )
30+ 5 . nginx:1.26(官方镜像)
31+ 6 . rabbitmq:3-management(官方镜像)
32+ 7 . mongo:7.0(官方镜像)
33+ 8 . elasticsearch:7.17.25(官方镜像)
34+ 9 . kibana:7.17.25(官方镜像)
3935
4036# 目录
4137
5854
5955```
6056/
61- ├── data
62- │ ├── composer Composer 缓存
63- │ ├── elasticsearch Elasticsearch 持久化数据
64- │ ├── mongodb MongoDB 持久化数据
65- │ ├── mysql5 Mysql5.7 持久化数据
66- │ ├── mysql8 Mysql8.2 持久化数据
67- │ ├── rabbitmq Rabbitmq 持久化数据
68- │ └── redis Redis 持久化数据
69- ├── logs
70- │ ├── mongodb MongoDB 日志
71- │ ├── mysql
72- │ │ ├── 5 Mysql5.7 日志
73- │ │ └── 8 Mysql8.2 日志
74- │ ├── nginx Nginx 日志
75- │ ├── php
76- │ │ ├── 73
77- │ │ │ ├── log PHP7.3 错误日志与慢日志
78- │ │ │ └── supervisor PHP7.3 里 supervisor 日志
79- │ │ ├── 74
80- │ │ │ ├── log PHP7.4 错误日志与慢日志
81- │ │ │ └── supervisor PHP7.4 里 supervisor 日志
82- │ │ ├── 80
83- │ │ │ ├── log PHP8.0 错误日志与慢日志
84- │ │ │ └── supervisor PHP8.0 里 supervisor 日志
85- │ │ ├── 81
86- │ │ │ ├── log PHP8.1 错误日志与慢日志
87- │ │ │ └── supervisor PHP8.1 里 supervisor 日志
88- │ │ ├── 82
89- │ │ │ ├── log PHP8.2 错误日志与慢日志
90- │ │ │ └── supervisor PHP8.2 里 supervisor 日志
91- │ │ └── 83
92- │ │ ├── log PHP8.3 错误日志与慢日志
93- │ │ └── supervisor PHP8.3 里 supervisor 日志
94- │ └── rabbitmq Rabbitmq 日志
57+ ├── logs 日志存放目录
9558├── services
9659│ ├── elasticsearch Elasticsearch 配置目录
9760│ ├── mongodb MongoDB 配置目录
98- │ ├── mysql Mysql5.7/Mysql8.2 配置目录
61+ │ ├── mysql Mysql 配置目录
9962│ ├── nginx Nginx 配置目录
10063│ │ ├── conf.d Nginx Vhost 配置目录
10164│ │ └── ssl Nginx 证书目录
102- │ ├── php
103- │ │ ├── 73 PHP7.3 配置目录
104- │ │ ├── 74 PHP7.4 配置目录
105- │ │ ├── 80 PHP8.0 配置目录
106- │ │ ├── 81 PHP8.1 配置目录
107- │ │ ├── 82 PHP8.2 配置目录
108- │ │ └── 83 PHP8.3 配置目录
109- │ ├── phpmyadmin phpMyAdmin 配置目录
65+ │ ├── php73 PHP7.3 配置目录
66+ │ ├── php74 PHP7.4 配置目录
67+ │ ├── php80 PHP8.0 配置目录
68+ │ ├── php81 PHP8.1 配置目录
69+ │ ├── php82 PHP8.2 配置目录
70+ │ ├── php83 PHP8.3 配置目录
11071│ ├── rabbitmq Rabbitmq 配置目录
11172│ └── redis Redis 配置目录
11273├── .bash_aliases.example .bash_aliases 示例配置
11374├── .env.example .env 变量示例配置
11475├── docker-compose.yml.example docker-compose 示例
11576├── dpe.sh 初始化脚本
116- └── www 默认项目代码存放目录
77+ └── www 默认项目代码挂载目录
11778```
11879
11980## 2. 快速使用
165126 # sudo docker-compose up -d
166127 ```
167128
168- 5. 在浏览器中访问:`http://localhost` 或 `http://127.0.0.1`,初始页面会显示 `404`。
129+ 5. 在浏览器中访问:`http://localhost` 或 `http://127.0.0.1`,初始页面显示 `404`。
169130
170131## 3. PHP 扩展
171132
@@ -281,69 +242,42 @@ root@php83:/www# composer install
2812422. 修改 `~/.bash_aliases` 的变量 `DPE_COMPOSE` 和 `DPE_SOURCE`
282243
283244 ```
284- # docker-php-env docker- compose.yml 绝对路径
245+ # docker-compose.yml 绝对路径
285246 DPE_COMPOSE=/home/suyar/repo/docker-php-env/docker-compose.yml
286- # docker-php-env 挂载的 DIR_SOURCE 绝对路径
247+ # 挂载的 DIR_SOURCE 绝对路径
287248 DPE_SOURCE=/home/suyar/repo
288249
250+ # 依葫芦画瓢配置其他版本PHP的快捷命令
251+
289252 ...
290253 ```
291254
2922553. 开始使用快捷命令
293256
294257 ```
295- # 进入宿主机 docker-php-env 目录
296- $ todpe
297- # 进入宿主机 DIR_SOURCE 目录
298- $ tosource
299-
300258 # 进入 php83 容器,自动识别挂载目录中的相对路径
301259 $ tophp
302260 # 进入 php83 容器,自动识别挂载目录中的相对路径
303261 $ tophp83
304- # 进入 php82 容器,自动识别挂载目录中的相对路径
305- $ tophp82
306- # 进入 php81 容器,自动识别挂载目录中的相对路径
307- $ tophp81
308- # 进入 php80 容器,自动识别挂载目录中的相对路径
309- $ tophp80
310- # 进入 php74 容器,自动识别挂载目录中的相对路径
311- $ tophp74
312- # 进入 php73 容器,自动识别挂载目录中的相对路径
313- $ tophp73
314262
315263 # 进入 nginx 容器,自动识别挂载目录中的相对路径
316264 $ tonginx
317265
318- # 进入 mysql8 容器
266+ # 进入 mysql 容器
319267 $ tomysql
320- # 进入 mysql8 容器
321- $ tomysql8
322- # 进入 mysql5 容器
323- $ tomysql5
324268
325- # 在宿主机执行 php 命令,自动识别挂载目录中的相对路径
269+ # 在宿主机执行 php 命令,自动识别挂载目录中的相对路径;如果宿主机有安装php,请在`~/.bash_aliases`中修改`php()`别名
326270 $ php
327271 $ php83
328- $ php82
329- $ php81
330- $ php80
331- $ php74
332- $ php73
333272
334- # 在宿主机执行 composer 命令,自动识别挂载目录中的相对路径
273+ # 在宿主机执行 composer 命令,自动识别挂载目录中的相对路径;如果宿主机有安装composer,请在`~/.bash_aliases`中修改`composer()`别名
335274 $ composer
336275 $ composer83
337- $ composer82
338- $ composer81
339- $ composer80
340- $ composer74
341- $ composer73
342276 ```
343277
344278 > 关于 `自动识别挂载目录中的相对路径` 的效果如下:
345279
346- ① 假设我的 `.env` 配置如下:
280+ ① 假设 `.env` 配置如下:
347281
348282 ```
349283 ...
@@ -352,14 +286,14 @@ root@php83:/www# composer install
352286 ...
353287 ```
354288
355- ② 假设我的 `~/.bash_aliases` 变量配置如下:
289+ ② 假设 `~/.bash_aliases` 变量配置如下:
356290
357291 ```
358292 # docker-php-env 挂载的 DIR_SOURCE 绝对路径
359293 DPE_SOURCE=/home/repo
360294 ```
361295
362- ③ 假设我宿主机中 ,当前目录为 **`/home/repo/laravel`**
296+ ③ 假设宿主机中 ,当前目录为 **`/home/repo/laravel`**
363297
364298 那么我在宿主机执行 `tophp` 命令后:
365299
@@ -390,9 +324,9 @@ root@php83:/www# composer install
390324 environment:
391325 TZ: ${TZ}
392326 volumes:
393- - ${DIR_SERVICES}/nginx/nginx.conf:/etc/nginx/nginx.conf
394- - ${DIR_SERVICES}/nginx/conf.d:/etc/nginx/conf.d
395- - ${DIR_SERVICES}/nginx/ssl:/etc/nginx/ssl
327+ - ${DIR_SERVICES}/nginx/nginx.conf:/etc/nginx/nginx.conf: ro
328+ - ${DIR_SERVICES}/nginx/conf.d:/etc/nginx/conf.d: ro
329+ - ${DIR_SERVICES}/nginx/ssl:/etc/nginx/ssl: ro
396330 - ${DIR_LOGS}/nginx:/var/log/nginx
397331 - ${DIR_SOURCE}:/www
398332 working_dir: /www
@@ -402,7 +336,7 @@ root@php83:/www# composer install
402336 networks:
403337 default:
404338 aliases:
405- - example.laravel.me
339+ - example.laravel.local
406340 - test.biz.me
407341 restart: unless-stopped
408342 logging:
@@ -433,19 +367,18 @@ root@php83:/www# composer install
433367
434368这里以 `php83` 容器举例:
435369
436- 1. 修改 `services/php/83 /supervisor.conf` 的内容
370+ 1. 修改 `services/php83 /supervisor.conf` 的内容
4373712. 重启 `php83` 容器
438372
439373### 4.4 清空服务数据
440374
441375在某些情况下,你可能需要清空各种生成的数据,重新初始化开发环境,
442376
443- > 该操作是风险操作,会清空所有持久化数据 !!!
377+ > 该操作是风险操作,会清空所有容器和持久化数据卷 !!!
444378
445379```
446380# sudo docker-compose down
447381# sudo ./dpe.sh clean
448- # sudo ./dpe.sh init
449382```
450383
451384## License
0 commit comments