Size: a a a

Docker — русскоговорящее сообщество

2022 February 03

GG

George Gaál in Docker — русскоговорящее сообщество
Можешь, обращайся
источник

ИС

Иван Святов... in Docker — русскоговорящее сообщество
Хорошо , как ?
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
это уже в чат Явы вопрос
источник

НО

Нимай Олейник... in Docker — русскоговорящее сообщество
Куда прописать npm i -D (установка зависимостей) что бы она запускалась каждый раз при запуске контейнера ? Ну или в идеале при --build флаге, сейчас если запустить сборку он берёт её из кеша (пропускает), а если удалить образ он и предыдущие RUN повторно запускать будет.
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
не нужно каждый раз устанавливать зависимости.

В лок файле вроде они описываются, а это значит, что нужно скопировать лок файл, а после прописать установку зависимостей.

Тогда, если лок файл поменяется, то последующие слои не будут закешированы и зависимости установятся
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Все так 🙌
источник

SP

Slava Pinchuk in Docker — русскоговорящее сообщество
Всем хая, подскажите просто как правильно нагуглить
Implement all kinds of repository models (Full, Incremental, Differential, Reverse Delta, CDP)
ато мне лезут всякие паттерны и дот нет ....
Как имплементировать бекапы эти....
источник

НО

Нимай Олейник... in Docker — русскоговорящее сообщество
Не совсем в лок файле... в файле package.json. Запускаю первый раз прод v1, все RUN выполняются и устанавливаются зависимости. Обновляю приложение до v2, останавливаю контейнер, обновляю файлы, package.json, package-lock.json.
источник

НО

Нимай Олейник... in Docker — русскоговорящее сообщество
Запускаю контейнер, а он пропускает установку новых зависимостей и приложение ругается что их нет.
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
ты, видимо, пропускаешь самый важный шаг - пересобрать образ
источник

НО

Нимай Олейник... in Docker — русскоговорящее сообщество
--build ?
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
docker build
источник

НО

Нимай Олейник... in Docker — русскоговорящее сообщество
Говорит RUN npm i -D кеширован.
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
показывай докерфайл
источник

ОВ

Ойген Вебер... in Docker — русскоговорящее сообщество
multistage ?
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
а какая разница? Вроде во времена динозавров докер не умел кешировать в мультистейж, но с какой-то версии научился
источник

НО

Нимай Олейник... in Docker — русскоговорящее сообщество
FROM node:16

RUN apt-get install pm2 -y

WORKDIR /app #в этот путь прокидываю папку с приложением через volume

CMD npm i -D #через RUN npm не видит package.json, можно его копировать вручную и тогда видит но все равно не выполняет доустановку при обновлении

ENTRYPOINT ["pm2-runtime" "pm2.conf.json"]
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
или кратко - тебе нужно после установки pm2
скопировать лок файлы и вызывать установку зависимостей

"RUN npm не видит" конечно не видит, и не должен в таком кейсе видеть, ты же не скопировал файлы, а маунтиш каталог при запуске контейнера
источник

AV

Alexey Voronkov in Docker — русскоговорящее сообщество
в статье выше написано, как можно красиво сделать hot reload.
p.s. правда, я бы alpine выкинул и вместо add использовал copy
источник