节点应用程序错误"/>
节点应用程序错误
我正在尝试为Sails.js应用程序构建Docker映像。这是Dockerfile:FROM risingstack/alpine:3.4-v8.5.0-4.7.0
ENV NODE_ENV test
RUN npm install -g sails
COPY npmrc_file .npmrc
ARG NPM_TOKEN
COPY package.json package.json
RUN npm install
RUN rm -f .npmrc
# Add your source files
COPY . .
EXPOSE 3000
CMD ["npm","start"]
我从NPM文档站点上的this link中为此Dockerfile采取了步骤。我确保与那里的文档完全匹配。
我的码头工人建造命令是:
image="my-repo-url/tagname:tagversion"
docker build --build-arg NPM_TOKEN=my-token-goes-here -t $image -f Dockerfile .
然后我使用docker stack
或docker-compose
运行带有图像的容器。由于出现以下错误,容器无法启动:
sails_1 | Error: Failed to replace env in config: ${NPM_TOKEN}
sails_1 | at /usr/lib/node_modules/npm/lib/config/core.js:418:13
sails_1 | at String.replace (<anonymous>)
sails_1 | at envReplace (/usr/lib/node_modules/npm/lib/config/core.js:414:12)
sails_1 | at parseField (/usr/lib/node_modules/npm/lib/config/core.js:392:7)
sails_1 | at /usr/lib/node_modules/npm/lib/config/core.js:335:17
sails_1 | at Array.forEach (<anonymous>)
sails_1 | at Conf.add (/usr/lib/node_modules/npm/lib/config/core.js:334:23)
sails_1 | at ConfigChain.addString (/usr/lib/node_modules/npm/node_modules/config-chain/index.js:244:8)
sails_1 | at Conf.<anonymous> (/usr/lib/node_modules/npm/lib/config/core.js:322:10)
sails_1 | at /usr/lib/node_modules/npm/node_modules/graceful-fs/graceful-fs.js:78:16
sails_1 | /usr/lib/node_modules/npm/lib/npm.js:52
sails_1 | throw new Error('npm.load() required')
sails_1 | ^
sails_1 |
sails_1 | Error: npm.load() required
sails_1 | at Object.get (/usr/lib/node_modules/npm/lib/npm.js:52:13)
sails_1 | at process.errorHandler (/usr/lib/node_modules/npm/lib/utils/error-handler.js:213:18)
sails_1 | at emitOne (events.js:115:13)
sails_1 | at process.emit (events.js:210:7)
sails_1 | at process._fatalException (bootstrap_node.js:399:26)
事实是,在我们开始运行容器时,应该没有对$ {NPM_TOKEN}的引用或需要。我在另一个项目中使用的是完全相同的设置,但没有看到此错误,因此我不太确定这笔交易是什么。我三重检查了该项目中的所有其他项目是否都相同。
此错误的可能原因和一些可能的解决方法是什么?
我也阅读了this thread和this SO question。我觉得我已阅读的所有内容都将我指向了相同的解决方案,该解决方案已经实现,但没有成功。
我正在尝试为Sails.js应用程序构建Docker映像。这是Dockerfile:FROMisingstack / alpine:3.4-v8.5.0-4.7.0 ENV NODE_ENV test RUN npm install -g sails COPY npmrc_file .npmrc ...
回答如下:这最终对我有用:更多推荐
节点应用程序错误
发布评论