nanoserver: «Ошибка: не удается найти модуль node.exe» в Docker - PullRequest
0 голосов
/ 08 июня 2018

Попытка запустить Nodejs на MS Nanoserver Установка успешна, но когда я запускаю "node app.js", я получаю эту ошибку

dockerfile

FROM microsoft/nanoserver


ADD https://nodejs.org/dist/v10.4.0/node-v10.4.0-win-x64.zip C:\\build\\node-v10.4.0-win-x64.zip

RUN powershell -Command Expand-Archive C:\build\node-v10.4.0-win-x64.zip C:\; Rename-Item C:\node-v10.4.0-win-x64 node


ENTRYPOINT C:\node\node.exe
RUN SETX PATH C:\node
RUN SETX PATH "%path%;C:\node"
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD [ "node.exe" , "app.js" ]
EXPOSE 8081 

Ошибка:

Error: Cannot find module 'C:\app\node.exe'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:594:15)
    at Function.Module._load (internal/modules/cjs/loader.js:520:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
    at startup (internal/bootstrap/node.js:238:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

1 Ответ

0 голосов
/ 08 июня 2018

См. Документы: https://docs.docker.com/engine/reference/builder/#known-issues-run. Если вы используете директиву ENTRYPOINT, тогда CMD может подобрать это:

CMD ["app.js"]
...