Docker 创建php 开发环境遇到的权限问题解决方案
最近我将公司的开发,和测试环境都运行到docker 上面,因为开发,测试基本都是装代码拉到本址,然后,再装目录,挂载到镜像目录中如:我用的是docker-compose
# development.yml version: '2' services: php-fpm: image: jackluo/php-fpm:5.6.3 restart: always volumes: - ./www:/var/www/html - ./data:/usr/local/var/log extra_hosts: - "cache.redis.com:192.168.9.111" - "192.168.9.111:192.168.9.111" web: image: index.alauda.cn/library/nginx restart: always links: - php-fpm volumes: - ./config:/etc/nginx/conf.d - ./data:/var/log/nginx volumes_from: - php-fpm ports: - 80:80 expose: - 80
上面的
jackluo/php-fpm:5.6.3 这个是我自己拉的官方镜像下来添加了一些东西,具体在github有 docker-library 里面
目前公司的php 框架用的是 thinkphp ,thinkphp 会生成 缓存文件和目录,php镜像官方的运行用户是www-data,以前的解决方案是只要两个用户一致就可以了,于是,我就在我本地创建了一个www-data的用户如
全部都给的是www-data 权限,再看看Runtime 上面宿主机的生成的是啥权限
全部都是33 ,33是啥用户????,我看看docker 里面是啥权限
发现挂载进去的权限是1000,而且php 生成的变成www-data 这个
然后我再访问,网页
网页显示 ,没有写入的权限,这个是麻意思呢?
其实,这个问题,困扰了我很久,我一般的解决方案是直接就Runtime 给777的权限,但是,如果是新生成的php页面,每次都要去执行给777的权限,实在感觉不爽,浪迹,http://stackoverflow.com/ 终于找到了解决方案.官方的解决方案是
FROM php:5.6-fpm RUN usermod -u 1000 www-data
如果 你是mac
RUN usermod -u 1000 www-data && usermod -G staff www-data
这样php生成的缓存生成的权限,就一致了
问题,就这样子,解决鸟
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
phpwind for Docker 安装部署帮助文档
购买phpwind_9.0.1+MySQL for Docker 登陆云市场0元购 phpwind_9.0.1+MySQL for Docker购买页面,点击右侧的立即购买按钮,如图所示 进入确认订单页面,点击确认开通 如图所示 等待支付成功之后,点击进入管理控制台 如图所示 在阿里云容器服务中部署phpwind 进入云市场已购买服务页面,找到phpwind_9.0.1+MySQL for Docker商品,点击右侧的创建应用 进入阿里云容器服务的应用创建页面,如果显示“无可用集群”,请参考文档创建集群(注意创建集群时默认需要创建一个公网SLB实例供访问),选择一个可用的集群,修改应用名称为你想要的应用名称,点击使用编排模板创建,如图所示 在docker编排模板编辑页面,显示了如下模板内容(其中带$符号的变量需要用户指定,图中的环境变量用于帮助
- 下一篇
阿里云ecs Linux平台安装mongodb数据库
MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包。 下载地址:http://www.mongodb.org/downloads 下载完安装包,并解压tgz(以下演示的是 64 位 Linux上的安装) 。 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载 tar -zxvf mongodb-linux-x86_64-3.0.6.tgz # 解压 mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录 MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到PATH路径中: export PATH=<mongodb-install-directory>/bin:$PATH //<mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb 。 下载到本地后再安装 下载对应版...
相关文章
文章评论
共有0条评论来说两句吧...