Size: a a a

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

2020 October 20

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Сейчас это выглядит, как ADD packages packages, но необходимо оптимизировать нагрузку на CI с помощью кеша. Поэтому сначала заношу файлы package.json, потом ставлю ависимости, а потом уже заношу код.
источник

MT

M T in Docker — русскоговорящее сообщество
Котяй Негодяй
Сейчас это выглядит, как ADD packages packages, но необходимо оптимизировать нагрузку на CI с помощью кеша. Поэтому сначала заношу файлы package.json, потом ставлю ависимости, а потом уже заношу код.
Когда много адд получается много слоев что тоже плохо
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
M T
Когда много адд получается много слоев что тоже плохо
Чем именно?
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
жирным имеджем
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Если это отражается как-то на финальном образе, то не актуально, т.к. билд происходит в отдельном стейдже, а артифакты я просто копирую в следующий.
источник

MT

M T in Docker — русскоговорящее сообщество
Котяй Негодяй
Если это отражается как-то на финальном образе, то не актуально, т.к. билд происходит в отдельном стейдже, а артифакты я просто копирую в следующий.
Куча мусора ибо промежуточный имедж толще
источник

Р

Ринат in Docker — русскоговорящее сообщество
Ребята кто делал контейнер, который заводили в домен, для реализации авторизации kerberos с keytab file?
источник

N

Nazar in Docker — русскоговорящее сообщество
Котяй Негодяй
Сейчас это выглядит, как ADD packages packages, но необходимо оптимизировать нагрузку на CI с помощью кеша. Поэтому сначала заношу файлы package.json, потом ставлю ависимости, а потом уже заношу код.
Тупой вопрос, а почему 1 json не сделать? или ты несколько приложений в 1 докер пакуешь?
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Nazar
Тупой вопрос, а почему 1 json не сделать? или ты несколько приложений в 1 докер пакуешь?
Это монорепо, там много пакетов и 3 веб приложения. Раскидывать по разным репам пока очень дорого, значительно дороже — мы просто не успеем это всё администрировать, разработка идёт оч. быстро. Монорепо спасает. Минимум промежуточных сборок, но при этом мы уже заранее можем раскидывать это всё по разным пакетам.

По поводу организации — есть такая парадигма, как yarn workspaces. Её и используем.
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Короче, вот:

sh:
tar -czvf packages.tar.gz packages/*/package.json

Dockerfile:
ADD packages.tar.gz .
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Но здесь есть минус: в CI складывается ответственность за часть сборки образа, что не хорошо.
источник

PG

Pavel Gassan in Docker — русскоговорящее сообщество
чтож в это м нехорошего?
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Pavel Gassan
чтож в это м нехорошего?
Сначала у тебя была такая-то структура файлов, и докерфайл содержал все необходимые сведения для сборки образа. Теперь часть этих сведений докерфайл не содержит, и их должен знать кто-то другой, снаружи. Это потенциальная точка отказа, да и ваще не ответственность CI.
источник

N

Nazar in Docker — русскоговорящее сообщество
Котяй Негодяй
Типа как-то так?

COPY packages/*/package.json packages/*/package.json
А еще вопрос, точно вот так не работает?
COPY package* /
источник

N

Nazar in Docker — русскоговорящее сообщество
Тогда тебе не придется архивы гонять
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Nazar
А еще вопрос, точно вот так не работает?
COPY package* /
Оно работает с вилдкард, но в моём случае это не позволит мне скопировать файлы с сохранением их путей.
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Nazar
А еще вопрос, точно вот так не работает?
COPY package* /
Ну, и в пакетах лежат ещё файлы, копировать которые напротив не нужно.
источник

N

Nazar in Docker — русскоговорящее сообщество
Котяй Негодяй
Оно работает с вилдкард, но в моём случае это не позволит мне скопировать файлы с сохранением их путей.
Пасиму ? он же внутрянку как есть перенесет
источник

КН

Котяй Негодяй... in Docker — русскоговорящее сообщество
Nazar
Пасиму ? он же внутрянку как есть перенесет
Да. И это мне не нужно.
источник

N

Nazar in Docker — русскоговорящее сообщество
Котяй Негодяй
Ну, и в пакетах лежат ещё файлы, копировать которые напротив не нужно.
АА вот теперь андерстенд
источник