授予对 docker 容器的写入权限



我正在运行灯容器。因此,从我在 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 .

此命令将允许任何用户通过以根用户身份运行来读取或写入容器内的当前文件夹。

相关内容

  • 没有找到相关文章

最新更新