我正在通过 docker-compose 启动 docker 环境。这提供了 mysql 和 nginx 进程。后者安装包含将提供服务的文件夹的路径。
问题是,当 nginx 以用户“nginx”运行时,卷会挂载为 xfs:xfs。这会导致一个问题,因为有一个 php 脚本需要能够写入磁盘。
在主机操作系统(在 Vagrant 中运行的 Linux,用于开发目的)上,文件夹的所有者是 www-data:www-data。
我无法弄清楚如何使用适当的用户安装该卷。
我的环境加载如下:
docker-compose -f docker-compose-dev.yml up -d
docker-compose-dev.yml 文件的 nginx 镜像部分是:
webserver:
container_name: somedomain_website
image: richarvey/nginx-php-fpm:latest
working_dir: /application
environment:
VIRTUAL_HOST: webdev.somedomain.com
LETSENCRYPT_HOST: somedomain.com
LETSENCRYPT_EMAIL: [email protected]
# PGID: 33
# PUID: 33
volumes:
- ../www/2019:/var/www/html/2019
- ./phpdocker/nginx/nginx_dev.conf:/etc/nginx/sites-available/default.conf
- ./phpdocker/nginx/nginx_dev.conf:/etc/nginx/sites-enabled/default.conf
- ./php/php.ini:/usr/local/etc/php/conf.d/99-overrides.ini
ports:
- "80:80"
顺便说一句,我确实尝试指定PGID
and PUID
,但这破坏了 nginx:
2019-02-11 05:35:38,584 INFO exited: php-fpm (exit status 78; not expected)
2019-02-11 05:35:41,595 INFO spawned: 'php-fpm' with pid 25
[11-Feb-2019 05:35:41] ERROR: [pool www] cannot get uid for user 'nginx'
[11-Feb-2019 05:35:41] ERROR: FPM initialization failed
2019-02-11 05:35:41,635 INFO exited: php-fpm (exit status
谁能建议如何处理这个问题?
在 Ubuntu 18.04.1 LTS 上使用 docker-compose 1.17.1。