Docker学习(6)—容器中wordpress更新时提示登陆ftp

原因为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,因为是目录映射到容器中。容器中的改动也反映在宿主机上