原因为nginx对目录没有写文件权限,代码是存在宿主机的,文件夹权限为root用户
1、登陆nginx容器环境docker exec -it nginx /bin/bash
2、查看目录/var/www/html都是root用户权限ls -al /var/www/html
3、查看容器用户cat /etc/passwd
发现:www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
而nginx一般是用www-data用户来运行,它的家目录就是/var/www
4、将/var/www下改为www-data用户cd /var/www
chown -R www-data:www-data ./
5、再次尝试,可以更新了
6、查看宿主机目录权限有没有变ls -al /appserver/code/
drwxr-xr-x 8 33 33 4096 4月 12 08:19 wordpress
也变成了uid为33,因为是目录映射到容器中。容器中的改动也反映在宿主机上