由于本人开发场景是win10系统,所以本说明书也是按照win系统来的 本文章为迁移文章,撰写时间超过三年
首先安装docker环境,这个可以从docker官网下载安装包,https://hub.docker.com/editions/community/docker-ce-desktop-windows, 建议下载稳定版的,免得毛病多
克隆纸喵docker-worker-pc-compose项目到D:\docker
目录(这里如果要改变目录,须改变项目中的docker-comose.yml文件中的地址),地址:https://gitee.com/zhimiao/docker-worker-pc-compose
这样处理一下,就不存在加密方式问题导致的mysql登陆问题了
这个时候docker大概也安装好了,安装过程可能会重启,托盘区小鲸鱼提示已经start了表明已经正常启动了,右击图标-setting-Shared Drives,映射目录用到了那个盘这里就要分享哪个盘,不然会失败,设置的时候需要验证用户,最好新建一个专用的管理员账户,因为如果改密码了,这里会失效,并且没有任何提示。
开启General-TLS,方便接下来phpstorm能够连接到docker环境:
配置D:/docker/nginx/vhost/default.conf
虚拟主机,方便测试
server {
listen 1301;
set $app default;
include docker.server;
}
创建D:/docker/wwwroot/default/i.php
,内容如下
<?php
phpinfo();
命令行最好用powerShell(不要用cmd或者ISE),进入D:\docker
执行docker-compose up -d
启动完成之后,浏览器访问 http://localhost:1301/i.php
如果后面再次修改了nginx配置,可以通过docker-compose restart nginx
来重启nginx,此命令要在D:\docker
目录下执行,到这里环境就算搭建好了,接下来进入phpstorm开发环境配置(主要是xdebug配置),打开default项目,修改i.php
<?php
$a = "hello zhimiao";
echo $a;
phpinfo();
配置default项目的server(此处主要是定义一个映射,因为本地的路径和容器内的路径不一致,容器内是linux系统,php目录为/var/www/html,nginx目录为/usr/share/nginx)
设置remote debug配置,如下图
配置好之后,选择刚刚配置的xdebug-1301,然后点击小虫子,进入监听状态,接着对i.php第三行断点
用浏览器访问i.php,发现开始转圈圈,然后phpstorm中出现xdebug信息
有的时候我们经常需要查看docker容器的状态以及一些配置,总是用命令行比较费劲,其实phpstorm里面提供了对docker的操控面板,这里需要用到文初设置的TLS
推广了一段时间后发现mysql8的加密方式是个坑,导致初始化成功后连接各种毛病,在此附上修正方案
# 登陆到容器内
docker exec -it mysql的容器ID /bin/bash
# 登陆到容器内的mysql内
mysql -uroot -proot
# 重置root密码
alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;
Last modified on 2022-03-21