Dockerfile — Предустановка Пакетов Для Образа Docker Nodejs В Соответствии С Package.json.

  • Автор темы Couchetew93
  • Обновлено
  • 17, Oct 2024
  • #1

Я хотел бы подготовить образ Docker для проекта nodejs. Разработчики используют package.json для перечисления зависимостей модулей узлов. Я хотел бы подготовить образ Docker (как основу для Dockerfile), при этом большинство узлов node_modules уже установлены «глобально» в образе.

Существует ли лучшая практика подготовки изображений nodejs?

#docker #dockerfile #node.js

Couchetew93


Рег
25 Oct, 2024

Тем
69

Постов
203

Баллов
558
  • 25, Oct 2024
  • #2

Зависит от жизненного цикла вашего приложения, поскольку библиотеки Node и зависимости изменяются или прекращают свою жизнь и устаревают, поэтому, если вы постоянно меняете версию приложения для развертывания, вы можете использовать тег докера для описания версии или времени сборки образа это хорошая практика, поэтому Dockerfile должен скопировать package.json и посмотреть, когда вам нужно изменить исходную ОС образа, например, сменить Ubuntu Linux на Alpine, множество зависимостей или как установить "npm" " и зависимости для узла, пример:

Dockerfile

ну, надеюсь, это тебе поможет

 

Васёк Трубачев


Рег
26 Jul, 2011

Тем
71

Постов
206

Баллов
591
  • 25, Oct 2024
  • #3

Если предположить, что это производство

FROM nginx
EXPOSE 80
COPY --from=builder /app/build /usr/share/nginx/html
, the boilerplate configuration for a Nodejs type of application would look like this:

FROM node:alpine
WORKDIR "/app"
COPY ./package.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "start"]

или вот так:

FROM node:alpine as builder
WORKDIR '/app'
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

и если вы используете Nginx, у вас также может быть пара строк, которые будут выглядеть примерно так:

Dockerfile

Итак, теперь у вас есть пара ответов с несколькими вариантами того, как можно написать готовую продукцию.

  FROM alpine:3.8

# Update
RUN apk add --update nodejs nodejs-npm

# Install app dependencies
COPY package.json /src/package.json

RUN cd /src; npm install

# Bundle app source
COPY . /src

EXPOSE 5000
CMD ["node","src/index.js"]
.

 

Rnbdrv0


Рег
21 Jul, 2011

Тем
63

Постов
195

Баллов
530
Похожие темы Дата
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно