首页 > 解决方案 > 由于 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 容器进入退出状态。

标签: node.jsdockerfiware

解决方案


在 Docker 中使用旧版本的节点映像。使用普通函数而不是使用胖箭头函数(=>)。旧版本的节点不支持它。箭头函数的优点-
1箭头函数中的this指向父母。
2 它创建了简短的书写功能。

您也可以在不使用粗箭头功能的情况下编写该行。

exports.inspectOpts = Object.keys(process.env).filter(function(key) {
//Your Code Here
})

推荐阅读