node.js - 由于 nodejs 错误,Docker 容器未启动
问题描述
我在跑步
sudo docker run -d --name cloud-portal -v /opt/stack/dockercloudportal/config.js:/opt/fiware-cloud-portal/config.js -p 8000:8000 cloud-portal
但它给了我nodejs错误如下:
/opt/fiware-cloud-portal/node_modules/express/node_modules/debug/src/node.js:120
exports.inspectOpts = Object.keys(process.env).filter(key => {
^
SyntaxError: Unexpected token >
at Module._compile (module.js:439:25)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/opt/fiware-cloud-portal/node_modules/express/node_modules/debug/src/index.js:9:19)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
我是否必须添加更多依赖项?Docker 映像已成功构建,但 docker 容器进入退出状态。
解决方案
您在 Docker 中使用旧版本的节点映像。使用普通函数而不是使用胖箭头函数(=>)。旧版本的节点不支持它。箭头函数的优点-
1箭头函数中的this指向父母。
2 它创建了简短的书写功能。
您也可以在不使用粗箭头功能的情况下编写该行。
exports.inspectOpts = Object.keys(process.env).filter(function(key) {
//Your Code Here
})
推荐阅读
- java - 使用通信层在客户端和服务器之间进行通信
- python - Python If 子句不被接受(语法)
- testing - 赛普拉斯 - cmd 运行的不可见元素
- javascript - 使用 lodash 对特定类型的数据进行分组并按升序或降序对它们进行排序
- excel - 如果值 > 0 错误,则将行复制并粘贴到新工作表的宏
- c# - 如何使用嵌入的单声道将字符串参数传递给 c# 方法?
- aws-iot - aws iot 如何生成证书 ID?
- selenium-webdriver - 通过 Junit 执行测试时无法生成 Serenity 汇总报告
- function - 如何从 mariadb 函数返回表?
- python - 解析 csv 文件,将行存储/写入到旧文件中的行之间的新文件