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容器