Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;每次访问:权限被拒绝";在Docker容器中运行Webpack,dockerfile中设置了用户_Docker_Npm_Webpack_Docker Compose_File Permissions - Fatal编程技术网

&引用;每次访问:权限被拒绝";在Docker容器中运行Webpack,dockerfile中设置了用户

&引用;每次访问:权限被拒绝";在Docker容器中运行Webpack,dockerfile中设置了用户,docker,npm,webpack,docker-compose,file-permissions,Docker,Npm,Webpack,Docker Compose,File Permissions,我已经使用docker容器好几年了,但最近我决定需要通过在docker文件中声明一个用户来改进容器的安全性和用户管理 我的安装程序在Windows 10上运行,但在Mac上出现权限错误 顺便说一句,我正在使用docker compose构建和运行所有内容,并且我已经安装了docker Toolbox 这就是我添加到docker文件中的内容: # add node user RUN groupadd --system --gid 61000 buink-group RUN useradd --no

我已经使用docker容器好几年了,但最近我决定需要通过在docker文件中声明一个用户来改进容器的安全性和用户管理

我的安装程序在Windows 10上运行,但在Mac上出现权限错误

顺便说一句,我正在使用docker compose构建和运行所有内容,并且我已经安装了docker Toolbox

这就是我添加到docker文件中的内容:

# add node user
RUN groupadd --system --gid 61000 buink-group
RUN useradd --no-log-init --system --uid 61000 --gid buink-group node-user
RUN chgrp --recursive buink-group /var/www/html
RUN chmod g+rwx /var/www/html

...

# set user as node-user
USER node-user
我使用名为start.sh的文件作为入口点,并在该文件中运行:

npm run watch-poll
以下是我得到的错误:

node-container | 
 95% emittingError: EACCES: permission denied, mkdir '/var/www/html/public/js'
node-container | npm ERR! code ELIFECYCLE
node-container | npm ERR! errno 1
node-container | npm ERR! @ watch: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=webpack.config.js "--watch-poll=200"`
node-container | npm ERR! Exit status 1
node-container | npm ERR! 
node-container | npm ERR! Failed at the @ watch script.
node-container | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
node-container | 
node-container | npm ERR! A complete log of this run can be found in:
node-container | npm ERR!     /home/node-user/.npm/_logs/2018-09-13T18_58_07_373Z-debug.log
node-container | npm ERR! code ELIFECYCLE
node-container | npm ERR! errno 1
node-container | npm ERR! @ watch-poll: `npm run watch -- --watch-poll=200`
node-container | npm ERR! Exit status 1
node-container | npm ERR! 
node-container | npm ERR! Failed at the @ watch-poll script.
node-container | npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
node-container | 
node-container | npm ERR! A complete log of this run can be found in:
node-container | npm ERR!     /home/node-user/.npm/_logs/2018-09-13T18_58_07_395Z-debug.log
node-container exited with code 1
以下是我的docker-compose.yml文件中的卷

volumes:
  - ./:/var/www/html
  - composer:/var/www/html/vendor
  - node_modules:/var/www/html/node_modules

共享
docker compose.yml
文件会很有帮助。特别是,如果您使用卷覆盖Dockerfile中安装的所有内容,则会存在进一步的潜在权限问题。我会删除
node\u模块
,然后再次运行安装。大多数情况下,它应该修复权限issues@RuChernChong我每次都做一个docker compose down-v,它基于卷应该删除卷。另外,我在docker文件中执行npm缓存清理--force。@DavidMaze我在上面添加了它。