Rumah > pembangunan bahagian belakang > tutorial php > 如何解决Docker创建php开发环境遇到的权限问题

如何解决Docker创建php开发环境遇到的权限问题

不言
Lepaskan: 2023-03-31 09:58:02
asal
3268 orang telah melayarinya

本篇文章主要介绍了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
Salin selepas log masuk

上面的

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
Salin selepas log masuk

如果 你是mac

RUN usermod -u 1000 www-data && usermod -G staff www-data
Salin selepas log masuk

这样php生成的缓存生成的权限,就一致了

问题,就这样子,解决鸟

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

Atas ialah kandungan terperinci 如何解决Docker创建php开发环境遇到的权限问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Isu terkini
Gunakan persekitaran snmp dalam docker
daripada 1970-01-01 08:00:00
0
0
0
Panggilan API merentas bekas Docker
daripada 1970-01-01 08:00:00
0
0
0
docker: format rujukan tidak sah
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan