Size: a a a

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

2020 January 30

K

Kirill in Docker — русскоговорящее сообщество
звучит смешно, как минимум, понимаю. Спасибо всем откликнувшимся ))
источник

M

Maxxie in Docker — русскоговорящее сообщество
Всем добрый вечер. Кто-нибудь знает как можно очистить\дропнуть COPY слой в готовом image после того как он нам не нужен. Суть проблемы.
В образ запекам установщик (COPY слой), который устанавливает нужный софт внутри image (RUN слой). Дальше эти файлы уже в собранном образе не нужны.
источник

GG

George Gaál in Docker — русскоговорящее сообщество
Maxxie
Всем добрый вечер. Кто-нибудь знает как можно очистить\дропнуть COPY слой в готовом image после того как он нам не нужен. Суть проблемы.
В образ запекам установщик (COPY слой), который устанавливает нужный софт внутри image (RUN слой). Дальше эти файлы уже в собранном образе не нужны.
есть лайфхак
источник

GG

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

GG

George Gaál in Docker — русскоговорящее сообщество
в последнем образе делаешь COPY --from=source lalala lalala
источник

GG

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

M

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

M

Maxxie in Docker — русскоговорящее сообщество
не артефакт точнее
источник

M

Maxxie in Docker — русскоговорящее сообщество
мультистейдж хорошо когда собрался и тебе файл гонять в другом окружении.
источник

GG

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

M

Maxxie in Docker — русскоговорящее сообщество
значит, я что-то плохо прочитал. Пойду еще покурю
источник

GG

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

GG

George Gaál in Docker — русскоговорящее сообщество
у тебя действительно между образами (стадиями) могут передаваться только файлы - все CMD, ENTRYPOINT, ENV надо в конечном образе формировать заново, либо выносить все что должно быть в конечном и в промежуточном - в какой-то базовый образ
источник

GG

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

GG

George Gaál in Docker — русскоговорящее сообщество
FROM alpine as base

blablabla
ENV, RUN тут всякое такое - базовая подготовка

FROM base as intermediate
COPY RUN blablabla - всякая мусорная сборка

FROM base
COPY —from=intermediate нужные файлы
источник

M

Maxxie in Docker — русскоговорящее сообщество
ага, попробую поиграть
источник

GG

George Gaál in Docker — русскоговорящее сообщество
либо тупо в одном блоке RUN (сделать-что-то) && (почистить следы) - тогда у тебя и секреты в конечный образ не попадут и образ будет мелкий
источник

M

Maxxie in Docker — русскоговорящее сообщество
может и заедет
источник

GG

George Gaál in Docker — русскоговорящее сообщество
потому что каждый слой == слепок фс, какие действия были при его создании - в docker history видны, но по ним сконструировать все взад уже нельзя )
источник

M

Maxxie in Docker — русскоговорящее сообщество
вот насколько это хорошо чистить предыдущий слой новым )
источник