gpt4 book ai didi

windows - Docker:卷安装目录出现 "permission denied"错误

转载 作者:行者123 更新时间:2023-12-03 08:10:51 28 4
gpt4 key购买 nike

我写了一个docker-compose.yml,如下所示:

version: "3"
services:
notebook:
image: jupyter/datascience-notebook

ports:
- "8888:8888"
volumes:
- jupyterlabPermanent:/hahaha
environment:
JUPYTER_ENABLE_LAB: "yes"
TZ: "Asia/Tokyo"
command:
start-notebook.sh --NotebookApp.token=''
volumes:
jupyterlabPermanent:

让我明确一下舞台上出现的角色。

  • \hahaha:容器端目录,位于根目录
  • jupyterlabPermanent:通过容器端目录hahaha挂载的卷。
  • dockerjulia_jupyterlabPermanent\_data:为卷 jupyterlabPermanent 保护的主机端目录,它同步位于 \hahaha 中的数据。 的完整路径dockerjulia_jupyterlabPermanent\_data\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes\dockerjulia_jupyterlabPermanent\_data

当我在 \hahaha 目录下的 bash 上使用 touch 命令时,我收到 permission returned

# bash command line at \hahaha

(base) jovyan@4bcdaa228d9e:/hahaha$ touch test.txt
touch: cannot touch 'test.txt': Permission denied

因此,容器中完成的每个任务都无法存储在 \hahahajupyterlabPermanent 卷中,这意味着数据保存在此环境中不起作用。

我该如何解决这个问题?我搜索了一下这个,发现我需要更改权限的配置,但我不明白。

我在 Windows 10 家庭版上使用 Docker Desktop for Windows 和 WSL 2。

最佳答案

您需要卷上的 root 访问权限才能更改权限。因此,让我们运行一个普通的 Ubuntu 容器并挂载卷

docker run -it --rm -v jupyterlabPermanent:/hahaha ubuntu

现在我们可以将组所有权更改为 GID 100(jovyan 用户所属的组),并将权限更改为 775,以便组成员可以对其进行写入

chown :100 /hahaha
chmod 775 /hahaha

现在您可以退出 Ubuntu 容器并运行 jupyter 容器,并且您应该能够写入该卷。

关于windows - Docker:卷安装目录出现 "permission denied"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70875300/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com