【发布时间】:2021-08-30 18:25:48
【问题描述】:
我使用的是 Docker Hub 的官方 nginx 镜像: https://hub.docker.com/_/nginx/
nginx的用户(定义在/etc/nginx/nginx.conf中)是nginx。有没有办法让 nginx 以www-data 运行而无需扩展 docker 映像?这样做的原因是,我有一个共享卷,供多个容器使用 - php-fpm 我以 www-data 和 nginx 运行。共享卷中文件/目录的所有者是www-data:www-data,而nginx 无法访问该文件/目录 - 错误类似于*1 stat() "/app/frontend/web/" failed (13: Permission denied)
我有一个docker-compose.yml 并运行我的所有容器,包括带有docker-compose up 的 nginx 容器。
...
nginx:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./:/app
- ./vhost.conf:/etc/nginx/conf.d/vhost.conf
links:
- fpm
...
【问题讨论】:
-
我认为更好的方法是创建自己的 Dockerfile,这样它是可重现的。您可以登录到容器并更改用户并重新启动容器,但这可能是将来的维护问题。