docker-compose mysql nginx php

mysql提示没有目录的写权限

解决办法, 使用非网络映射目录作为挂载目录

docker-compose.yaml中会出现挂载卷的问题, 说权限不足
这种情况出现于该目录为使用了网络共享的挂载目录导致的
目录挂载网络共享路径, 无法修改挂载路径下的文件以及目录权限为777, 即执行 chmod 777 -R * 无效, 也不报错
将挂载目录位于非共享目录即可正常运行
  • 测试
# 重新初始化
# 移除创建的容器
docker stop $(docker ps -a | grep test | awk '{print $1}')
docker rm $(docker ps -a | grep test | awk '{print $1}')
# 强制删除所有指定开头的镜像
docker rmi -f $(docker images -a | grep test | awk '{print $3}')


# 重新编译镜像
docker-compose up -d
# 测试php接口响应
curl 127.0.0.1:8080
# 测试静态文件响应
curl 127.0.0.1:8080/1.html
  • 目录结构
.
├── app                                        应用目录
│   ├── index.php
│   └── phpinfo.php
├── docker-compose.yaml    
├── mysql                                    MYSQL容器
│   ├── Dockerfile                镜像配置
│   ├── data                            数据结构
│   └── log                                运行日志
├── nginx                        
│   ├── Dockerfile
│   ├── config
│   │   └── default.conf    NGINX配置
│   └── log                                运行日志
│       ├── access.log
│       └── error.log
└── php
    ├── Dockerfile
    └── config
        └── php.ini                PHP配置文件

代码仓库地址:
https://wuloves.coding.net/public/docker/docker-compose/git/files/master/mysql_nginx_php

标签: none

添加新评论