在docker映像中安装纱线时的权限问题

在docker映像中安装纱线时的权限问题,docker,permissions,yarnpkg,Docker,Permissions,Yarnpkg,我的开发团队目前正在为我们正在开发的项目的更新设置环境。我直截了当地说 在我们的DockerFile中,我们正在使用运行npm install-g warn安装纱线 但是当执行清空缓存文件的.sh文件时,我们得到了错误: yarn error “EACCESS: permission denied, scandir '/root/.config/yarn/link'” 我正在查找可能的修复程序,我们只找到了一个解决方法,即授予该目录的完全权限: RUN chmode -R 777 '/root

我的开发团队目前正在为我们正在开发的项目的更新设置环境。我直截了当地说

在我们的
DockerFile
中,我们正在使用
运行npm install-g warn安装纱线
但是当执行清空缓存文件的
.sh
文件时,我们得到了错误:

yarn error “EACCESS: permission denied, scandir '/root/.config/yarn/link'”
我正在查找可能的修复程序,我们只找到了一个解决方法,即授予该目录的完全权限:

RUN chmode -R 777 '/root/
我们知道这是强烈不推荐的。 有人知道更好的答案吗?我在《纱线》和《码头工人》中看到了很多类似的问题

纱线版本为1.9.4

编辑1: 问题是,Thread与执行此操作的用户一起写入或读取这些文件,因此解决方案是向所有用户授予权限。也许用一种更具报复性的方式

编辑:

在多次失败后,我们决定只使用chmode-R 777~/.config&&chmode-R 777~/.cache。这些文件是在运行Thread安装之前创建的,由于我们开发了sistem,每次用户进入sistem时都会触发。所以解决方法是只给每个用户777个权限,以便让他们写入这些文件

无论如何,如果有更好的答案,我会把答案贴在这里


顺便说一句,系统被弃用了

请在
dockerfile

用户根目录

运行npm安装-g纱线

USER[用户名]

运行chown-R[user name]~/.config&&chown-R[user name]~/.cache


dockerfile

用户根目录

运行npm安装-g纱线

USER[用户名]

运行chown-R[user name]~/.config&&chown-R[user name]~/.cache

试试看

sudo npm install yarn && yarn install
试一试


我们最终设置了777权限,但该系统被弃用。

我们最终设置了777权限,但该系统被弃用。

您使用的是哪个基本映像?我不会太担心,因为它是docker容器中的文件权限。您使用的是哪个基本映像?我不会太担心,因为它是docker容器中的文件权限。这不起作用,我想,因为这些目录是在我执行一个线程运行之前创建的。这就是为什么我必须使用run chmode-R 777'/root/然后我更喜欢
chmode-R 777~/.config&&chmode-R 777~/.cache
我试着用chmod-R 777~/.config替换run chmode-R 777/root/行,结果是同一个问题我无法让它工作,我仍在尝试以用户身份访问根文件,但EACCESS权限被拒绝。这不起作用,我想,因为这些目录是在我执行一个线程运行之前创建的。这就是为什么我必须使用run chmode-R 777'/root/然后我更喜欢
chmode-R 777~/.config&&chmode-R 777~/.cache
我试着用chmod-R 777~/.config替换run chmode-R 777/root/行,结果是同一个问题我无法让它工作,我仍在尝试以用户身份访问根文件,但EACCESS权限被拒绝。免责声明:这是极不建议的,因此如果您有类似问题,请不要将其用作解决方法。免责声明:这是极不建议的,因此如果您有类似问题,请不要将其用作解决方法。