繁体   English   中英

如何使用容器的所有者 www-data 用户使用 docker-compose 挂载卷?

[英]How to mount a volume with docker-compose with owner www-data user of the container?

我有我的 docker-compose,如下所示

  "kj_wordpress":
    image: kristijorgji/wordpress-php-7.1:0.0.0
    volumes:
      - ${KJ_WORDPRESS_PATH}:/var/www/html/app
    restart: on-failure
    container_name: "kj_wordpress"

这工作正常,我可以访问一个 wordpress 站点。 问题是 nginx (www-data) 的用户无法访问wp-contents/uploads写入权限,并且无法在那里上传图像。

我可以通过输入正在运行的容器中手动修复它

docker-compose exec kj_wordpress /bin/bash

然后运行

chown -R www-data wp-content/uploads/

这很好用。

现在我想自动化这个过程,而不必在每次创建和运行容器时都运行它。

我怎样才能让www-data用户 ot - ${KJ_WORDPRESS_PATH}:/var/www/html/app

所以容器路径/var/www/html/app

两年前我有类似的问题。 选项很少,我测试了标记的答案,直到某个时候。

Docker-compose 和命名卷权限被拒绝

这就是我稍后使用 docker 组合的方式。

    files-init:
        image: alpine
        restart: "no"
        entrypoint: |
            /bin/sh -c "chown myuser:myuser /path/to/folder"
        volumes:
            - logs:/path/to/folder
    service-logs:
        image: alpine
        depends_on:
            - files-init
    volumes:
        logs:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM