У меня есть приложение node.js, которое я пытаюсь запустить в Docker.Вот фрагмент файла package.json.
"main": "lib/server.js",
"scripts": {
"clean": "cross-env rm -rf dist",
"build": "cross-env babel lib -d dist",
"start": "npm run clean && npm run build && npm run serve",
"serve": "node dist/index.js",
"dev": "cross-env NODE_ENV=development nodemon lib/server.js --exec babel-node",
"test": "echo \"Error: no test specified\" && exit 1",
"lint": "eslint --ext .js lib/ scripts/ --ignore-pattern node_modules/"
}
А вот Dockerfile для создания образа
#---- Base Node------
FROM node:10.15.1-alpine
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package*.json ./
COPY lib ./lib
RUN npm install --only=production && npm run build
EXPOSE 4201
CMD ["npm", "run", "serve"]
При попытке запустить образ я получаю следующую ошибку.Вот скриншот ошибки.
Версия узла и npm на моей машине совпадают, и базовый образ, который я использую для сборкимое изображение.Когда я запускаю ту же команду локально на моей машине, она работает. Вот точная команда, которую я запускаю на своей машине, и она работает.
npm install --only = production
npm run build
npm run serve
Я что-то здесь не так делаю?Любая помощь приветствуется.