基础安装
安装git、docker和docker-compose。mac和windows用户安装docker便集成了docker-compose,类unix用户需要单独安装docker-compose。
下载dnmp docker-compose源代码
使用git clone即可,也可以直接进去下压缩包
修改php文件夹下Dockerfile以支持swoole
编辑Dockerfile,结尾添加
启动容器
等待四个镜像dnmp-mysql,dnmp-nginx,dnmp-redis,dnmp-php启动完毕打开浏览器localhost测试是否成功
代码位置
源代码在:dnmp/www/site1/ 目录下。
环境调整
上面的目录是可以配置的,可以具体修改docker-compose.yml volumes的映射,配合映射到主机的nginx配置文件去修改,注意需要保证Nginx和PHP-FPM都挂载了Host的文件目录,并且都挂载在容器的:/var/www/html。
注意如果容器已经启动,编辑之后需要停止并删除掉之前的容器
重新build
其他的修改也应如此,具体可以看docker-compose说明。
问题总结
1、根据上述步骤下来,就会得到一个运行在docker上的lnmp+swoole的环境,如果使用到了swoole的话,你可能还需要修改nginx配置进行转发处理。
2、连接数据库主机名一定要127.0.0.1,因为MySQL客户端默认使用unix socket方式连接,应该直接用本地IP。
3、客户端登录的时候可能会报2509的连接错误,这个错误出现的原因是这个镜像默认使用mysql最新版,在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为caching_sha2_password。
解决此问题有三种方法,一种是更新navicat驱动来解决此问题,二种是将mysql用户登录的加密规则修改为mysql_native_password,三是将mysql版本降级,修改docker-compose.yml去指定mysql版本。
本着开发环境用新不用旧,本文采用第二种办法:
2019.11.14 / 热度:743 / 分类: docker
发表评论:
昵称
邮件地址 (选填)
个人主页 (选填)