docker-compose `mysql+nginx+php`
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