Docker Wordpress tar:<file>无法将所有权更改为uid 33,gid 33:不允许操作

Eri*_*Ven 7 macos wordpress apache2 docker

我已经使用Wordpress为本地开发创建了一个docker-compose文件,我终于让NFS工作了(由于Docker/Mac问题,正常的卷安装太慢了).

除了我遇到一个新问题,NFS共享中的所有文件(这是wp_content文件夹)都会出现这样的错误:

tar: ./wp-content/themes/twentynineteen/archive.php: 
Cannot change ownership to uid 33, gid 33: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我发现这个问题https://github.com/docker-library/wordpress/issues/137,他们参考https://github.com/docker-library/wordpress/pull/249,但我仍然可以让它运转起来.想知道是否有人可以帮助我,这是我的docker-compose文件:

version: '3.3'

services:
  wordpress:
    image: wordpress:latest
    ports:
      - "80:80"
    restart: always
    volumes:
      - nfsmount:/var/www/html/wp-content
      - ./.htaccess:/var/www/html/.htaccess:cached
      - ./wp-data/wp-config.php:/var/www/html/wp-config.php:cached
      - ./logs/debug.log:/var/www/html/wp-content/debug.log
    environment:
      APACHE_RUN_USER: www-data
      APACHE_RUN_GROUP: www-data

volumes:
  nfsmount:
    driver: local
    driver_opts:
      type: nfs
      o: addr=host.docker.internal,rw,nolock,hard,nointr,nfsvers=3
      device: ":/Users/myuser/Sites/dockertest/wp-data/wp-content" 
Run Code Online (Sandbox Code Playgroud)

mpr*_*net 6

该错误是由尝试更改所有者的 tar 命令报告的。

为了避免 tar 设置所有者,您可以将变量设置TAR_OPTIONS--no-same-owner
From tar manual

--no-same-owner
像您自己一样提取文件(普通用户默认)。

您可以使用以下命令将其添加到 docker-compose 文件中:

  TAR_OPTIONS: --no-same-owner
Run Code Online (Sandbox Code Playgroud)