windows坏境下docker使用phpmyamin的权限问题解决
问题解析
在这里我们可以看到phpMyAmin显示了配置文件权限错误,这里标记出不能给任意人修改,此时我们知道报错是因为配置文件的权限问题
解决方法
出现的报错我们已经知道了,这个时候我们就是要去更改phpMyAdmin的配置文件权限,我们先查询docker运行中的容器,此刻我windowspowershell,通过执行执行docker ps -a命令, 命令查看已经在运行的容器,这里可以看到容器中的信息
- CONTAINER ID: 容器 ID。
- IMAGE: 使用的镜像。
- COMMAND: 启动容器时运行的命令。
- CREATED: 容器的创建时间。
- STATUS: 容器状态。
Docker exec进入容器
我可以看到docker-php.5.6的容器IP是596278f1537b,执行docker exec -it CONTAINER ID /bin/bash, 比如:docker exec -it 596278f1537b /bin/bash就进入到CONTATNER ID容器的/bin/bash脚本执行模式,这时候就相当于登录到容器内部,可以通过shell和这个容器即CONTAINER ID交互,可以执行各种Linux命令了。
- -d :分离模式: 在后台运行
- -i :即使没有附加也保持STDIN 打开
- -t :分配一个伪终端
此时我们在此输入的命令便是在虚拟机中的命令了
查看Docker composer.yim配置文件
我们找到docker文档的docker composer.yim配置文件,找到docker-php.5.6的配置信息,docker 会在指定路径下为每个 volume 生成一个目录,作为 mount(挂载) 源,这里看到我们执行的路径是/var/www/htdocs
· 路径: /var/lib/volume
找到挂载路径
这里我们可以看到进入容器后是找到了挂载路径:var/www/html,从上面我们可以看到我们是需要找htdocs的文件目录,我们通过cd ../退回上级目录,通过ls可以列出www目录下的内容
当前命令是接着前面的docker exec命令的
查看权限信息
此刻我们定位到htdocs,我再次使用ls列出htdocs有没有包含phpMyAmin文件,找到之后我们通过Linux语句ls -l -a列出所有的文件的权限,这里我们找到phpMyAdmin的配置文件的权限信息,从这张图片看到rwxrwxrwx配置文件的权限是能可读取可写入可执行,用数字表示为777
Linux文件权限解析
这边我们为了照顾没有学过linux系统的文件权限的同学,我这里列出Linux文件权限的解释, 1-3 位数字代表文件所有者的权限,4-6 位数字代表同组用户的权限,7-9 数字代表其他用户的权限。具体的权限是由数字来表示的,读取的权限等于 4,用 r 表示;写入的权限等于 2,用 w 表示;执行的权限等于 1,用 x 表示;通过 4、2、1 的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)。
更改配置权限
这里我们回到开头,报错已经给我们指出了报错原因,这个时候我们只要通过更改配置文件的权限我们就可以解决报错了,我们这里指定到画红线的路径下,输入chmod(用来修改某个目录或文件的访问权限) 755 config.inc.php就可以修改文件的权限,这样子我就修改完成,Linux系统中的755权限是指所有者拥有可读、可写、可执行权限,所属组与其他用户仅拥有可读与可执行权限。确认的方式就是命令行的前缀是root@
问题解决完成
我们再次回到浏览器进行访问,就可以进去了,这样子我们就解决了问题
以上就是windows坏境下docker使用phpmyamin的权限问题解决的详细内容,更多关于docker phpmyamin权限的资料请关注脚本之家其它相关文章!
相关文章
docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程
这篇文章主要介绍了docker下搭建JMeter+Grafana+influxdb可视化性能监控平台,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-07-07
最新评论