【问题标题】:Docker permissions with Symfony 3Symfony 3 的 Docker 权限
【发布时间】:2019-01-07 05:31:00
【问题描述】:

symfony 缓存和 docker 容器中的日志存在问题。 Web 服务器从 www-data 用户和组执行,当我使用安装在 docker 上的 php 从 docker 容器中清除 symfony 缓存时,它从 root 执行。

因此,例如,如果我删除 var/logs/dev.log 并在浏览器中打开 url,则会使用用户和组创建新的 log.dev:www-data:www-data,但在我清除缓存后,它会得到浏览器中的权限 root:root 和 url 给出错误 dev.log 权限被拒绝。

我不确定是什么问题,但我猜想 nginx 在 www-data 下运行,当我执行控制台命令时,它们从 root 用户运行。

我有 4 个容器:nginx、php-fpm、mysql、rabbit。

我也使用 docker compose 的第 3 版,我想到了使用 group_add 的解决方案,但它在第 3 版中不再可用

我该如何配置?

==================

docker-compose 类似这样:

version: "3"

services:
    nginx:
    image: nginx:1.11
    depends_on:
        - php-fpm
    links:
        - php-fpm
    environment:
        - NGINX_PORT=80
        - FASTCGI_HOST=php
        - FASTCGI_PORT=9000
        - DOCUMENT_ROOT=/usr/local/src/test-project/public
    ports:
        - 8095:80
    volumes:
        - .:/usr/local/src/test-project
        - ./docker/nginx/templates/default.conf.template:/etc/nginx/conf.d/default.conf.template
        - ./docker/nginx/entrypoint.sh:/entrypoint.sh
    command: "/bin/bash /entrypoint.sh"

php-fpm:
    build: docker/php
    depends_on:
        - db
    extra_hosts:
        - "test-project:127.0.0.1"
    environment:
        DATABASE_URL: pgsql://test-project_users:test-project_users@db:5432/test-project_users
        APP_URL: 172.19.0.1:8095/
    working_dir: /usr/local/src/test-project
    volumes:
        - .:/usr/local/src/test-project

db:
    image: postgres
    restart: always
    ports:
        - '5599:5432'
    environment:
        POSTGRES_DB: test-project_users
        POSTGRES_USER: test-project_users
        POSTGRES_PASSWORD: test-project_users
    volumes:
      - data:/var/lib/db

【问题讨论】:

  • 拥有您的docker-compose.yml 会有所帮助,例如您是否使用了一些音量?
  • 我现在没有它,但是是的,它们共享相同的音量

标签: symfony docker


【解决方案1】:

问题是,您正在通过命令行以 root 用户身份清除缓存。您应该使用 su www-data 运行 clear 语句。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-29
    • 2016-12-31
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2021-07-22
    相关资源
    最近更新 更多