我正在运行灯容器。因此,从我在 apache 服务器上运行的应用程序,我需要上传一个文件。我不断收到错误:上传目标文件夹似乎不可写。 所以,我需要允许位于/文档/风筝/灯/应用程序/appv2/上传中的文件夹写入...我该怎么做? 我已经尝试了"mkdir 077 目录",但不起作用。 以下您可以看到我的所有权限:
# ls -al
total 96
drwxr-xr-x 1 root root 4096 Sep 16 10:45 .
drwxr-xr-x 1 root root 4096 Sep 16 10:45 ..
drwxr-xr-x 2 root root 4096 Sep 16 10:45 0777
drwxr-xr-x 9 www-data staff 306 Sep 16 09:06 app
drwxr-xr-x 1 root root 4096 Aug 16 2018 bd_build
drwxr-xr-x 1 root root 4096 Jun 12 19:16 bin
drwxr-xr-x 2 root root 4096 Apr 24 2018 boot
-rwxr-xr-x 1 root root 2049 Jun 12 19:13 create_mysql_users.sh
drwxr-xr-x 5 root root 360 Sep 16 13:16 dev
-rwxr-xr-x 1 root root 0 Sep 16 09:11 .dockerenv
drwxr-xr-x 1 root root 4096 Sep 16 09:11 etc
drwxr-xr-x 2 root root 4096 Apr 24 2018 home
drwxr-xr-x 1 root root 4096 Jul 24 2018 lib
drwxr-xr-x 2 root root 4096 Jul 24 2018 lib64
drwxr-xr-x 2 root root 4096 Jul 24 2018 media
drwxr-xr-x 2 root root 4096 Jul 24 2018 mnt
drwxr-xr-x 2 root root 4096 Jul 24 2018 opt
dr-xr-xr-x 194 root root 0 Sep 16 13:16 proc
drwx------ 1 root root 4096 Jun 12 19:18 root
drwxr-xr-x 1 root root 4096 Sep 16 13:16 run
-rwxr-xr-x 1 root root 2160 Jun 12 19:13 run.sh
drwxr-xr-x 1 root root 4096 Jun 12 19:16 sbin
drwxr-xr-x 2 root root 4096 Jul 24 2018 srv
-rwxr-xr-x 1 root root 67 Jun 12 19:13 start-apache2.sh
-rwxr-xr-x 1 root root 29 Jun 12 19:13 start-mysqld.sh
dr-xr-xr-x 13 root root 0 Sep 16 13:16 sys
drwxrwxrwt 1 root root 4096 Sep 16 13:18 tmp
drwxr-xr-x 1 root root 4096 Jul 24 2018 usr
drwxr-xr-x 1 root root 4096 Jun 12 19:17 var
在容器中使用ls -al查看当前权限。使用id查看当前 uid。
使用 docker exec,您可以传递一个标志来更改当前用户。而要更改权限,可以使用chmod更改权限本身,chown更改用户所有权。
例如
docker exec -u root container_1 chmod 777 .
此命令将允许任何用户通过以根用户身份运行来读取或写入容器内的当前文件夹。