安装WSL
WSL即Linux子系统,比虚拟机占用资源少,安装的前提是系统必须是win10以上。
WSL的安装比较简单,网上有很多教程,例如:WSL简介与安装流程(Windows 下的 Linux 子系统)_wsl安装-优快云博客,我这里就不多赘述了
安装DockerDesktop
官网下载:Docker Desktop: The #1 Containerization Tool for Developers | Docker
汉化包(可选):asxez/DockerDesktop-CN: Docker汉化 Docker中文版 Docker汉化包 DockerDesktop汉化 Docker Windows Docker MAC
修改镜像存储目录(可选):由于镜像比较大,为了不占用c盘用空间,可以设置修改镜像存储目录
下载dnmp
我们直接用github上star比较多的,虽然有点缺陷,很多东西文档上也没说,不过该有的都有,没有的我会补充
项目github地址:garymengcom/dnmp: Docker LNMP (Nginx, PHP7/PHP5, MySQL, Redis)
git clone https://github.com/garymengcom/dnmp.git
配置文件
1.复制配置文件
cd dnmp
copy env.sample .env
copy docker-compose.sample.yml docker-compose.yml
2.修改.env
文件配置
-
修改php代码目录,把
SOURCE_DIR
修改为你的php代码所在目录,默认是dnmp/www,假如我的是D:/wwwroot
目录,则修改为SOURCE_DIR=D:/wwwroot
-
增加php扩展,默认安装php扩展比较少,根据需要需要在对应的php配置中添加额外的扩展,如
redis,exif,bcmath
等 -
修改mysql端口、root密码
3.修改docker-compose.yml
文件,把自己不需要的服务注释掉,需要的加上。例如:默认会同时安装mysql5
和mysql8
,根据自己的需求,只保留其中一个;
4.默认配置文件都在services
目录下对应的程序目录里面,保持默认即可
启动服务
docker-compose up -d
如果下载镜像的过程中报错网络问题无法下载,可以看下面的【更换镜像源】这一节解决,或者尝试手动执行docker pull 单独拉取镜像试试
等待镜像下载完成,容器运行了就可以了。如果安装了Docker Desktop
,按照提示按v
键可以跳转到 Docker Desktop
中查看跑起来的服务
访问http://localhost
即可访问到默认的网站
更换镜像源
如果启动服务过程中报下面的错,镜像无法下载,则需要更换docker镜像源
可以上网找一下当前可用的docker镜像源,例如:https://cloud.tencent.com/developer/article/2485043
,然后在或DockerDesktop
的配置中增加镜像配置registry-mirrors
,镜像地址自己找最新可用的地址
{
"builder": {
"gc"