如何解决Jupyter Notebook:podman 权限问题
我在 CentOS Stream 上。我使用 podman 启动 Jupyter Notebook(我没有普通的 docker)。
# podman run --net host -v "${PWD}":/home/jovyan/work --name jupyter jupyter/r-notebook
我以 root 身份运行 podman,否则它不会启动。
问题是,无法从 R Notebook 访问 /home/jovyan/work。我可以在终端(在 docker 中)看到,问题是权限,这个文件夹归 root 所有,但我是用户 jovyan。
(base) jovyan@localhost:~$ ls -al
total 56
drwsrwsr-x. 1 jovyan users 34 Jul 21 08:25 .
drwxr-xr-x. 1 root root 20 Jul 17 00:42 ..
-rw-rw-r--. 1 jovyan users 220 Feb 25 2020 .bash_logout
-rw-rw-r--. 1 jovyan users 3823 Jul 17 00:42 .bashrc
drwsrwsr-x. 1 jovyan users 18 Jul 21 08:26 .cache
drwsrwsr-x. 1 jovyan users 30 Jul 17 00:42 .conda
drwsrws---. 2 jovyan users 40 Jul 17 00:44 .jupyter
drwxr-sr-x. 3 jovyan users 19 Jul 21 08:25 .local
drwsrwsr-x. 2 jovyan users 6 Jul 17 00:44 .npm
-rw-rw-r--. 1 jovyan users 807 Feb 25 2020 .profile
-rw-rw-r--. 1 jovyan users 227 Jul 17 00:42 .wget-hsts
drwxrwx---. 1 root 983 40960 Jul 20 18:37 work
(base) jovyan@localhost:~$ cd work
bash: cd: work: Permission denied
(base) jovyan@localhost:~$
我可以找到有关此问题的一些信息,也许还有一些解决方案,但我不明白。 podman命令加参数可以解决问题吗?¸
编辑:之前,我在所有者为 root 的共享文件夹中启动了 podman。
drwxrwx---. 1 root vboxsf 40960 jul 20 20:37 .
现在,我从与 docker (1000:100) 中显示的所有者相同的常规文件夹中开始,结果稍微好一点,但问题没有解决。我看不到主机文件夹中的现有文件,也无法创建新文件。
EDIT 2:通过禁用 SELinux,它可以工作。
(base) jovyan@localhost:~$ ls -al
total 16
drwsrwsr-x. 1 jovyan users 34 Jul 21 13:14 .
drwxr-xr-x. 1 root root 20 Jul 17 00:42 ..
-rw-rw-r--. 1 jovyan users 220 Feb 25 2020 .bash_logout
-rw-rw-r--. 1 jovyan users 3823 Jul 17 00:42 .bashrc
drwsrwsr-x. 1 jovyan users 18 Jul 21 13:14 .cache
drwsrwsr-x. 1 jovyan users 30 Jul 17 00:42 .conda
drwsrws---. 2 jovyan users 40 Jul 17 00:44 .jupyter
drwxr-sr-x. 3 jovyan users 19 Jul 21 13:14 .local
drwsrwsr-x. 2 jovyan users 6 Jul 17 00:44 .npm
-rw-rw-r--. 1 jovyan users 807 Feb 25 2020 .profile
-rw-rw-r--. 1 jovyan users 227 Jul 17 00:42 .wget-hsts
drwxrwsr-x. 2 jovyan users 17 Jul 21 13:20 work
(base) jovyan@localhost:~$ cd work
(base) jovyan@localhost:~/work$ ls -al
total 4
drwxrwsr-x. 2 jovyan users 17 Jul 21 13:20 .
drwsrwsr-x. 1 jovyan users 34 Jul 21 13:14 ..
-rw-rw-r--. 1 jovyan users 16 Jul 21 13:12 a.a
(base) jovyan@localhost:~/work$ touch b.b
(base) jovyan@localhost:~/work$ ls -al
total 4
drwxrwsr-x. 2 jovyan users 28 Jul 21 13:20 .
drwsrwsr-x. 1 jovyan users 34 Jul 21 13:14 ..
-rw-rw-r--. 1 jovyan users 16 Jul 21 13:12 a.a
-rw-r--r--. 1 jovyan users 0 Jul 21 13:20 b.b
因此,要以正确的方式解决问题,我只需要启用时应使用的 SELinux 规则的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。