#node.js #docker
Вопрос:
мне нужно создать образ из проекта nodejs . но когда я выполняю эту команду :
docker run image-name
это показывает мне эту ошибку :
C:Usersusernamepackage.json
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'C:Usersusernamepackage.json'
npm ERR! enoent This is related to npm not being able to find a file.
это мой докерский файл :
FROM node:14.16.1
ENV NODE_ENV=production
WORKDIR /
COPY ["package.json", "package-lock.json*", "./"]
RUN npm cache clean --force amp;amp; npm install
COPY . .
EXPOSE 3000
CMD npm run start
а это файл package.json :
{
"name": "Profile",
"version": "1.0.0",
"description": "",
"main": "dist/index.js",
"scripts": {
"build": "rimraf dist amp;amp; tsc",
"preserve": "npm run build",
"serve": "cross-env NODE_ENV=development concurrently "tsc --watch" "nodemon -q dist/index.js"",
"prestart": "npm run build",
"start": "cross-env NODE_ENV=production node dist/index.js",
"test": "echo "Error: no test specified" amp;amp; exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@types/body-parser": "^1.19.1",
"body-parser": "^1.19.0",
"cross-env": "^7.0.3",
"dotenv": "^10.0.0",
"express": "^4.17.1",
"helmet": "^4.6.0",
"mongoose": "^5.13.7",
"rimraf": "^3.0.2"
},
"devDependencies": {
"@types/express": "^4.17.13",
"@types/mongoose": "^5.11.97",
"@types/node": "^16.7.1",
"concurrently": "^6.2.1",
"nodemon": "^2.0.12",
"ts-node": "^10.2.1",
"typescript": "^4.3.5"
}
}
в чем проблема ?? как я могу решить эту проблему ??
Редактировать
ОС : Windows 10
Команда Для Создания Образа : сборка докера-профиль тега-srv
Структура проекта :
Комментарии:
1. Добавьте 1. ОС хоста, 2. структуру папок приложений 3. Контейнерная ОС, 4. Команда для создания образа
2. @Max я редактирую вопрос
Ответ №1:
Я думаю:
FROM node:14.16.1
ENV NODE_ENV=production
WORKDIR /
COPY package.json .
COPY package-lock.json* .
RUN npm cache clean --force
RUN npm install
COPY . .
EXPOSE 3000
CMD npm run start