![](/img/trans.png)
[英]jscs error : validateLineBreaks: Invalid line break at filename.js
[英]Error: EACCESS: permission denied, open 'build/FILENAME.js'
Docker容器无法启动。 得到以下错误消息
我以前尝试在777上设置build
,但它什么也没有改变。
的package.json
"scripts": {
"start": "nodemon --exec babel-node src/main.js",
"build": "babel src --out-dir build",
...
日志
$ babel src --out-dir build
dispatcher_1 | { Error: EACCES: permission denied, open 'build/CalcUtil.js'
dispatcher_1 | at Object.openSync (fs.js:439:3)
dispatcher_1 | at Object.writeFileSync (fs.js:1190:35)
dispatcher_1 | at outputFileSync (/app/node_modules/output-file-sync/index.js:115:5)
dispatcher_1 | at /app/node_modules/@babel/cli/lib/babel/dir.js:117:41
dispatcher_1 | at Generator.next (<anonymous>)
dispatcher_1 | at asyncGeneratorStep (/app/node_modules/@babel/cli/lib/babel/dir.js:74:103)
dispatcher_1 | at _next (/app/node_modules/@babel/cli/lib/babel/dir.js:76:194)
dispatcher_1 | errno: -13,
dispatcher_1 | syscall: 'open',
dispatcher_1 | code: 'EACCES',
dispatcher_1 | path: 'build/CalcUtil.js' }
泊坞窗,compose.yml
version: '3.1'
volumes:
db:
services:
mongodb:
image: mongo:4.0-xenial
restart: always
volumes:
- db:/data/db
mongoclient:
image: mongoclient/mongoclient
restart: always
volumes:
- db:/data/db
environment:
- MONGO_URL=mongodb://mongodb/data
- MONGOCLIENT_DEFAULT_CONNECTION_URL=mongodb://mongodb/data
ports:
- "8071:3000"
depends_on:
- mongodb
dispatcher:
image: node:10
restart: always
volumes:
- ./tmp:/upload_tmp
- ./:/app
working_dir: /app
ports:
- "8070:8070"
command: "make build start"
user: "1000:1000"
depends_on:
- mongodb
要启动Docker容器,我使用docker-compose up -d
我想我也会将评论作为官方答复
因此,在docker-compose.yml文件中,您已定义希望以user: "1000:1000"
身份运行服务调度程序,但是在装入卷后,所有者实际上是root:root
。
我相信这是Linux的特定问题,因为当所有者成为拥有docker守护程序的用户时,在装入卷时具有权限(至少我多次遇到过此问题)
据我所知,在Mac上的Docker桌面上不会发生此问题,并且使用指定用户作为所有者挂载卷。
因此,删除该服务的用户定义将解决此问题。
该错误报告该脚本正在尝试打开文件,并且没有打开该文件的权限。
鉴于有问题的文件是在build
目录以及从堆栈跟踪的细节,我猜你的脚本试图写入该文件。
这里最可能的情况是容器中没有build
目录,并且您没有编写任何代码来创建build
目录。 由于您使用make
来控制构建,并且尚未包含Makefile
,因此很难确定。
查看您的构建文件,并确保直接创建输出(如果缺少)。 您可能还希望确保每次运行完整版本时都清除其内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.