当前位置: 首页 > 知识库问答 >
问题:

docker - Docker容器报权限不足,如何配置权限?

朱博实
2023-09-11

我的Dockerfile配置:

FROM ghcr.io/puppeteer/puppeteer:latestEXPOSE 4000# 设置工作目录WORKDIR /yiceRUN chmod -R 777 /yice# # 复制源码COPY ./dist /yice/distCOPY ./scripts /yice/scriptsCOPY ./.env /yice/COPY ./package.json /yiceCOPY ./static /yice/staticCOPY ./tsconfig.json /yice/COPY ./tsconfig.build.json /yice/COPY ./node_modules /yice/node_modulesCMD npm run start:prod

报错信息:
image.png

我已经尝试过以下几种方法:

  • Dockerfile配置中添加RUN chmod -R 777 /yice
  • Dockerfile配置添加 USER root,它会报:
    image.png
    找不Chrome,然后因为ghcr.io/puppeteer/puppeteer:latest镜像切换的用户名为pptruser,所以我手动在代码里给puppeteer配置executablePath: '/home/pptruser/node_modules/chrome' ,它又报找不到
    image.png
  • Dockerfile配置添加 USER pptruser,它还是报:
    image.png

请问有没有大佬指点下?感谢��了

共有1个答案

敖毅
2023-09-11
COPY ./static /yice/static

这里改成

COPY --chown=pptruser:pptruser ./static /yice/static

复制的时候,设置用户和组。

或者把 chmod -R 777 /yice 这行移动到 COPY 下面。
因为是先执行的 chmod ,后面再执行 COPY 的时候,777 的权限就被覆盖了。

 类似资料:
  • 我正在尝试使用AWS ECS在docker容器中运行boto3 python脚本。我的脚本需要访问SQS(获取 为了让docker容器在我的本地机器上运行,我能够使用以下docker run命令将我的aws凭据传递到docker容器中。 <代码>docker run-v ~/。aws:/root/。aws 最近ECS宣布: 亚马逊ECS现在支持任务的IAM角色。为任务指定IAM角色时,其容器可以使

  • 我想构建一个具有根权限的jenkins docker容器,这样我就可以获得安装gradle的功能。 我使用这个命令在8080端口上运行jenkins,但我还想添加gradle作为环境变量: 或者我需要创建什么dockerfile,写什么,这样jenkins也可以在8080开始运行

  • 问题内容: 我正在Dockerfile中创建一个文件夹,我想给它一个写许可权。但是我尝试执行此操作时遇到权限拒绝错误 我的错误是 如何授予对Docker容器内的app文件夹的写权限 问题答案: 我猜您正在切换到没有所有权来更改/ app目录权限的用户“ admin”。使用“ root”用户更改所有权。在Dockerfile下面为我工作- PS-尝试摆脱“ 777”权限。我暂时尝试在Dockerfi

  • 问题内容: 我在用于CI的docker设置中有一个docker。本质上,该机器上装有jenkins CI服务器,该服务器使用相同的机器docker套接字为CI创建节点。 直到我最近更新了docker为止,这一直很好。我已经确定了问题,但似乎无法找出正确的方法来使它起作用。 这就是我的猜测。我可以从容器中访问主机docker套接字,但似乎无法授予jenkins用户许可。 我已经添加了docker组,

  • 我在CI的docker设置中有一个docker。本质上,机器上有一个jenkins CI服务器,它使用相同的机器docker套接字为CI创建节点。 这是伟大的工作,直到我最近更新了docker。我已经发现了这个问题,但是我似乎找不出正确的方法来让它工作。 这就是我的猜测。我可以从容器中访问主机docker套接字,但我似乎无法向jenkins用户授予权限。 我已经添加了docker组,还将jenki

  • 本文向大家介绍Docker创建容器时目录权限踩坑,包括了Docker创建容器时目录权限踩坑的使用技巧和注意事项,需要的朋友参考一下 昨天写项目时需要用到Mysql的衍生版本percona, 就想用Doker来安装.结果踩了一晚上坑, 今早终于解决. 现记录在此. 这个坑原因是我对linux的目录权限问题不敏感导致的. 我的系统是ubuntu16.04, 运行 docker pull percona