win10 系统,安装 docker,然后跑 php 项目,通常会很慢,一个最简单接口都可能要好几秒,真叫人肝疼。改变不了 win10,只能找解决方法。
处理方法
慢的原因网上有很多,怎么解决网上也很多,也实践过。不过,有一条是真的快。将代码放在 ubuntu 系统上跑,就是快。
步骤:
- 先安装 Ubuntu。
- 再安装 docker。
- 设置 docker 。
设置 docker 如下图所示。


-
win + s 搜索安装的 ubuntu,点击图标,进入终端中。在 /mnt/ 目录对应的本地磁盘中的文件复制到 ubuntu 系统中,比如 /docker-data/p1, p1 是项目名
-
配置自启动。在 /etc/systemmd/system/ 下创建 p1-docker.service。vim p1-docker.service 写入脚本。
[Unit]
Description=My Docker Compose Service
After=network.target
[Service]
Type=simple
ExecStart=/bin/bash -c 'cd /docker-data/p1 && docker-compose up'
ExecStop=/bin/bash -c 'cd /docker-data/p1 && docker-compose down'
Restart=on-failure
[Install]
WantedBy=multi-user.target
Description:服务的描述。
After:指定该服务在 network.target 之后启动。
ExecStart:启动服务时执行的命令。
ExecStop:停止服务时执行的命令。
Restart:服务失败时自动重启。
WantedBy:指定该服务在多用户目标下启动。
设置权限。
sudo chmod +x p1-docker.service
设置自启动
systemctl enable mydocker.service
systemctl start mydocker.service
查看服务状态
systemctl status mydocker.service
这个时候再去请求 php 的接口就飞快。
测试
查看接口响应时间
docker ps
docker exec -it xxx bash
curl --request POST http://xxx.com/xxxx -w "请求时间:%{time_total} 秒\n" -o /dev/null -s