windows上使用docker
1、下载docker desktop
https://docs.docker.com/desktop/install/windows-install/
2、解决wsl2 版本问题和设置wsl内存大小
当出现下面错误的时候,说明wsl需要更新了,这时候使用 wsl -l -v 命令查看当前wsl的版本,如果为1,这时候就需要升级到2了,链接在下方
wsl升级:https://learn.microsoft.com/zh-cn/windows/wsl/install#upgrade-version-from-wsl-1-to-wsl-2
修改wsl内存:wslconfig文件存放于当前用户的家目录,即绝对路径为C:\Users\你的用户名\.wslconfig,没有的话就新建一个。然后加入下面内容
链接:https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config#wslconfig
[wsl2]
memory=4GB
swap=4GB
3、安装Linux发行版本
打开 Microsoft Store,然后搜索Ubuntu,选择安装
4、docker 选择Ubuntu作为子系统
5、修改docker镜像地址为国内
在设置->docker engine中加入腾讯镜像"registry-mirrors": ["https://mirror.ccs.tencentyun.com"],设置完后,apply&restart就行了
6、进入Ubuntu并安装dnmp环境
打开cmd,输入wsl就可以进入Ubuntu系统里面了,然后找个目录放项目,然后安装dnmp就行了(https://gitee.com/yeszao/dnmp),装完后新建项目,hosts里填127.0.0.1就行
之所以安装Ubuntu并且把项目放入Ubuntu是因为不放入wsl管理的子系统里,本地请求会很慢
7、安装dnmp其他php版本(比如7.1)
1、首先把service目录下的php目录复制一份
2、目录名换成php71
3、将docker-compose.yml里的php配置复制一份,修改context、PHP_VERSION、PHP_EXTENSIONS、container_name、volumes
4、将.env里的php配置复制一份,修改VERSION、PHP_CONF、FPM_CONF_FILE、LOG_DIR、EXTENSIONS
5、执行docker-compose up -d php71就行了
6、修改NGINX配置文件,将fastcgi_pass改成fastcgi_pass php71:9000; 这里有个坑,NGINX配置文件的每一个这个都得改成这个,除非启动多个php容器