Вы видите это сообщение об ошибке, потому что когда вы пытались запустить npm install
, нет доступной копии npm
.
Вы используете alpine
в качестве базового изображения.
По умолчанию alpine
представляет собой небольшой образ, поэтому внутри него содержится ограниченный набор программ по умолчанию. Какие программы есть в образе alpine
? Немного.
Поэтому, если вы пытаетесь запустить образ alpine
с помощью Nodejs, вам нужно выполнить дополнительную работу.
Для ее решения у вас есть два варианта:
Найдите другое базовое изображение. - Вы можете попытаться найти базовый образ, внутри которого уже есть Node и NPM.
Запустите alpine
с некоторыми дополнительными командами, которые попытаются установить npm
внутри него.
Используйте чужую работу или создайте ее с нуля.
Я рекомендую найти изображение, предварительно сконфигурированное с npm
внутри него. Вы можете перейти к DockerHub, репозиторию образов.
В DockerHub есть официальный репозиторий Node.
https://hub.docker.com/_/node
Итак, вы можете сделать что-то вроде этого:
# Specify base image
FROM node:alpine
# Install some dependencies
RUN npm install
# Setup default command
CMD ["npm", "start"]
Хорошая вещь в node:alpine
заключается в том, что вы не получите никаких дополнительных ненужных пакетов, только абсолютно урезанную версию Nodejs и ничего, кроме основ, таких как команда ping
, cat
, ls
и так далее.
person
Daniel
schedule
15.12.2018