НЕ КОМПИЛИРУЙ в Docker пока не посмотришь. Рельные ошибки при сборке Docker

  Переглядів 25,068

Мир IT с Антоном Павленко

Мир IT с Антоном Павленко

3 роки тому

Скачать PVS-Studio: www.viva64.com/mir_pvs
Промокод: #mir_it
VK PVS-Studio: pvsstudio_rus
UKposts: @PVSStudioTool
Dockerfile на первый взглят простой инструмент для создания Docker image, но если совершать ошибки, о которых я расскажу в видео, то ваш Докер образ может раздуться до невероятных размеров. Особенно когда в твоем Докер файле есть компиляция программы. Например если подготавливать/компилировать в dockerfile java, с, с++, golang приложения и оставлять весь мусор после сборки мы порадим увесестый контейнер.
#docker #ityoutubers #devops
Дополнительные видео по теме:
Web-сайт для ленивых: docker-compose, nginx, php-fpm, mysql - • Веб-сервер на реальном...
Про моего телеграм бота на голанге - • Написал телеграм бота ...
Подробнее о Dockerfile - • Docker основные команд...
ХОТИТЕ ПОМОЧЬ РАЗВИТИЮ КАНАЛА?
★ BITCOIN: 3DkeRMFu4jsZCvRj8Bxn8iQCkgxfeVaxg8
★ Boosty (подписка донаты) boosty.to/pavlenkoat
★ Яндекс.Деньги: money.yandex.ru/to/4100124083...
★ www.donationalerts.com/r/pavl...
★ www.tinkoff.ru/rm/pavlenko.an...
КОНТАКТЫ:
✦ Канал в TELEGRAM: t.me/worlditech (worlditech)
✦ Чат в TELEGRAM: t.me/linux_wit
✦ Группа в VK: worlditech
✦ INSTAGRAM: / pavlenko.at
✦ DISCORD: / discord
Еще контакты:
✧ t.me/pavlenko_at
atpavlenko
✧ / anton.pavlenko.94

КОМЕНТАРІ: 202
@pavlenkoat
@pavlenkoat 3 роки тому
Сделал ошибку в видео про ошибку. Кто найдет?
@xXanMarkx
@xXanMarkx 3 роки тому
APP_PATH=APP_NAME
@user-vz2ei7yo2d
@user-vz2ei7yo2d 3 роки тому
На ошибках учатся
@sashatoaster
@sashatoaster 3 роки тому
clear
@user-ns5qf8wc2i
@user-ns5qf8wc2i 3 роки тому
Легко - словарь русского языка ,слово породить пишется через нуль :))
@andreil174
@andreil174 3 роки тому
В строке 11 говорится, что копируется в корень, но путь не абсолютный, а относительный. А в CMD путь абсолютный. И может так сложиться, что пути разойдутся.
@user-vz2ei7yo2d
@user-vz2ei7yo2d 3 роки тому
Очень нравится Ваши видео. Ни давно начал пользоваться Линукс.... Начал с Mint. Ваши видео очень понятно объясняют. Спасибо Вам!!!
@user-yw8by5uw6y
@user-yw8by5uw6y 8 місяців тому
Полезное видео. Благодарю за информацию.
@user-si5vk5cd9w
@user-si5vk5cd9w 3 роки тому
коментарий в поддержку видео
@user-pm4gs4gb6t
@user-pm4gs4gb6t 3 роки тому
поддержку*
@blackscale9041
@blackscale9041 2 роки тому
Спасибо, Антон, нравится ваша подача контента!
@user-zm1pr2vy1o
@user-zm1pr2vy1o 7 місяців тому
Спасибо!!! Очень полезная информация
@TheMonigoral
@TheMonigoral 3 роки тому
Docker BuildKit бы ещё сюда. Там нормальный workaround по секретам. Да и с большим количеством stageй в multistage дела обстоят лучше. В классике, собираются все stages до нужного, даже если они не нужны. С BuildKit не так. Отличное видео, спасибо
@ovanse
@ovanse 3 роки тому
Спасибо за контент. 👍 Подчерпнул для себя рад полезных моментов!
@user-dw8lb8lc7u
@user-dw8lb8lc7u 3 роки тому
Здравствуйте, я маленький и глупенький фулстек-жаваскриптизёр, узнавший о докере 2 недели назад. Сейчас пробую засунуть сайт в docker-compose (хочу чтобы был docker-compose для дева и для прода 2 файлами) Конкретно сегодня мучаюсь с дев контейнером для реакта(чтобы я писал код а приложение автоматически менялось) с продом всё круто (раздаётся через nginx)
@user-sx3ji1eg5i
@user-sx3ji1eg5i Рік тому
Спасибо за видео Вам. Очень познавательно и интересно.
@sergeydev8273
@sergeydev8273 3 роки тому
Лайк и коммент для продвижения видео :) За выпуск, отдельная благодарочка)
@Zzepish
@Zzepish 3 роки тому
Афигеть! Очень круто! Большое спасибо 🙂
@newalexxx
@newalexxx 2 роки тому
лайк влепил. Очень актуальная информация сейчас для многих кто идет в девопсы. Обязательно все будут попадать на такие ролики и пересматривать
@miketunik3899
@miketunik3899 2 роки тому
Отличные советы, спасибо!
@vasiliyreznik1789
@vasiliyreznik1789 3 роки тому
Спасибо, контент очень годный! )
@allhimik
@allhimik 3 роки тому
Поддерживаю видео) Спасибо автору!
@marinakaryukova6231
@marinakaryukova6231 Рік тому
Понравилось. Хочется еще более конкретного видео, например про docker + postgresSQL
@ildarbagamanshin8170
@ildarbagamanshin8170 6 місяців тому
Супер! Спасибо за контент!
@igancev
@igancev 3 роки тому
Спасибо. Все знакомо, хорошо разложено по полочкам. Для себя новое узнал, а точнее забытое старое, что для go бинаря финальный базовый образ можно использовать scratch, попробую. Прежде использовал apline
@denissavast
@denissavast 3 роки тому
Благодарю! Удачи Вам!
@coopergoldchrest7768
@coopergoldchrest7768 3 роки тому
Здравствуйте, Антон. При использовании билдер паттерна, в системе остается образ golang без тегов и имен. Есть способ заставить докер чистить подобный мусор сразу после сборки?
@user-oy4mo6mx8i
@user-oy4mo6mx8i 3 роки тому
Спасибо за выпуски, поддерживаю
@vpnsslru
@vpnsslru 3 роки тому
Антон, ты бы добавил ссылку на dockerfile в описание, народ бы кликал, ютуб воспринял бы благосклонно.
@sergeybarmaley125
@sergeybarmaley125 Рік тому
Cпасибо тебе добрый человек !!!
@user-td5pg1ut8n
@user-td5pg1ut8n Рік тому
Спасибо за полезные советы!
@sunatsaidov5883
@sunatsaidov5883 Рік тому
Очень полезное видео, спасибо дядь)
@user-tc8uy4qk5z
@user-tc8uy4qk5z Рік тому
Спасибо за видео!
@user-os2vb6wv7l
@user-os2vb6wv7l 3 роки тому
Полезное видео!! Успехов!
@igoregorov2115
@igoregorov2115 3 роки тому
Спасибо за видео и канал! Расскажи, пожалуйста, про кластера СУБД
@belarusbelarus1377
@belarusbelarus1377 3 роки тому
Спасибо за ценную информацию
@lanfix1320
@lanfix1320 3 роки тому
Круто. Как раз недавно начал писать на го. Этот контент мне очень помог разобраться с компиляцией в отдельном контейнере. Спасибо.
@user-hd5lj7io9i
@user-hd5lj7io9i Рік тому
Спасибо за видео урок
@romanke9706
@romanke9706 3 роки тому
спасибо, очень полезно!
@levonisrayelyan5393
@levonisrayelyan5393 3 роки тому
Спасибо добрый человек
@moscowstanislav
@moscowstanislav 3 місяці тому
Здравствуйте! Очень своевременное видео. Полезный совет.
@murashov_a
@murashov_a 3 роки тому
очень полезно, спасибо
@nt2548
@nt2548 3 роки тому
Спасибо за видос
@turdakhov
@turdakhov Рік тому
Коммент в поддержку видео про докер :)
@iyura1997
@iyura1997 3 роки тому
Топ контент) Достаточно понятно, даже для немного левого к программированию технаря
@pavlenkoat
@pavlenkoat 3 роки тому
Я объяснял в свое время как работать на компьютерах бабушкам. Уж технори должны понимать.
@user-dn6co3qg9k
@user-dn6co3qg9k 3 роки тому
Спасибо Антон!
@user-uv5es6bg8o
@user-uv5es6bg8o 3 роки тому
В поддержку канала, видео))))
@user-kf7fw1oz6s
@user-kf7fw1oz6s 3 роки тому
Хорошо рассказываешь +1 активность)
@M_V0id
@M_V0id 5 місяців тому
Всегда отличные видосы.
@mrshrooman
@mrshrooman 2 роки тому
Написал комментарий, чтобы просто поддержать Антона
@rafikrushanian
@rafikrushanian 3 роки тому
Always happy to help - the like and the comment already done ))
@khayolnoranjov918
@khayolnoranjov918 3 роки тому
Антоном Павленко один из лучших IT блогеров по СНГ! Спасибо!
@pavlenkoat
@pavlenkoat 3 роки тому
Спасибо большое.
@timanov_devops
@timanov_devops 11 місяців тому
Благодарю!
@GantzStoltz
@GantzStoltz 3 роки тому
Для поднятия видео!
@Roman-wj5nn
@Roman-wj5nn 3 роки тому
как раз в тему!
@user-jh5ie2ds6c
@user-jh5ie2ds6c 2 роки тому
Хороший контент. Подписался)
@pavlenkoat
@pavlenkoat 2 роки тому
Спасибо
@user-by6lf1js6w
@user-by6lf1js6w 10 місяців тому
Комментарий в поддержку канала!
@alexxx4233
@alexxx4233 3 роки тому
Успехов с каналом.
@alimzhanshabarov4204
@alimzhanshabarov4204 3 роки тому
Расскажи про тяжёлые запросы в базу
@user-ml2rb9eb9n
@user-ml2rb9eb9n 3 роки тому
Поддерживаю.
@romam3114
@romam3114 3 роки тому
Удачи!!!
@olegsolodkov5794
@olegsolodkov5794 3 роки тому
Круто! Спасибо! Было бы замечательно увидеть более широкий обзор best practies по докеру с примерами.
@pavlenkoat
@pavlenkoat 3 роки тому
Потихоньку набираю ролики
@sobaka_baka
@sobaka_baka 3 роки тому
Есть мнение что алгоритмы ютуба не охотно продвигают видео где меньше шести слов поэтому вот мои слова в поддержку видео
@alexk377
@alexk377 Рік тому
Поднимаю активность под видео!
@KindnessSavesTheWorld
@KindnessSavesTheWorld 2 роки тому
Супер👍💯
@alexanderalexandrov2099
@alexanderalexandrov2099 3 роки тому
Great video!
@user-bl6pe7by7i
@user-bl6pe7by7i 2 роки тому
Круто!
@user-hu7ty2pc5b
@user-hu7ty2pc5b 2 роки тому
Мало что понятно, но спасибо!
@trofimm68
@trofimm68 2 роки тому
комментарий в поддержку этого видео
@andreyq9179
@andreyq9179 3 роки тому
Спасибо
@1984Nik1
@1984Nik1 2 роки тому
отличное видео
@moonzlo
@moonzlo 3 роки тому
Спасибо за материал. Очень подробно, правда легче в понимании от этого не стало) я конечно не девопс, а просто фортендер, однако для общего развития хотелось бы конечно себе жизнь упростить при развёртки приложений. Купил книжечку даже от O'REILYY "Использование Docker" вроде как там довольно подробно всё разжёвывается.
@johnsc4521
@johnsc4521 3 роки тому
Отлично. А теперь соберите бинарь в контейнере с одной версией glibc. И запустите в другом контейнере, с другой версией glibc. А видео полезное, лайк!
@linuxoidovich
@linuxoidovich Рік тому
Или соберите бинарь на musl, когда в контейнере glibc.
@serogavalapinaga2950
@serogavalapinaga2950 3 роки тому
Очень дельно. Недавно встретил образ, слои которого состоят из COPY и RUN, которые из слоя в слой чередуются. Ревью не делал, так как не было времени, мелько видел. Но общий объем образа был 18Gb. Насколько большие вообще в природе встречаются образы? Каждый новый образ будет размещаться на хосте и кушать место. А вычищать старые образы падает на плечи инженеров, которые поддерживают инфраструктуру, где этот образ запускается. Так же при каждой выкатке нового релиза время будет теряться на скачивание такого весомого образа на хост, а если это kubernetes, то при перемещении пода будет скачиваться такой огромный образ на новую ноду, куда осуществляется перемещение. Есть ли какие-то рекомендации как вычищать старые образы? На данный момент не сильно актуально, но в бэклог задачу себе записали.
@pavlenkoat
@pavlenkoat 3 роки тому
Докер слои перетспользуют
@pominov_d
@pominov_d Рік тому
комментарий в поддержку видео ))
@itpositiv
@itpositiv 2 роки тому
Поддерживаю - Like
@orange-vlcybpd2
@orange-vlcybpd2 2 роки тому
Полезно
@wallispotter134
@wallispotter134 3 роки тому
Круто! Не всё понятно, а точнее почти всё, но поддержать однозначно надо. Написал бы комментарий подлинней если бы хватало скила... Может в следующий раз.
@andreyq9179
@andreyq9179 3 роки тому
Спасибо 3
@hound406
@hound406 3 роки тому
Лайк и коммент для продвижения видео!)
@mikejedi7165
@mikejedi7165 2 роки тому
Йо!!! Коммент в поддержку видео!
@MN-mi6eo
@MN-mi6eo 2 роки тому
круто! а то я вечно запихивал все подряд
@pavlenkoat
@pavlenkoat 2 роки тому
Это частое явление
@alekseyveld7559
@alekseyveld7559 2 роки тому
Интересный канал
@YuriRadavchuk
@YuriRadavchuk 2 роки тому
Контент 🔥
@user-nz8nb4tq2p
@user-nz8nb4tq2p 3 роки тому
В поддержку
@user-ox4ty5sk7b
@user-ox4ty5sk7b 2 роки тому
Спасибо за видео. Правильно понимаю, что при сборке на CI лучше всего собирать проект вне докера, а потом после сборки полученные исходники оборачивать в docker контейнер или всё таки сборку исходников тоже лучше вести в рамках докера?
@pavlenkoat
@pavlenkoat 2 роки тому
Я выпускал видео Как правильно собирать в ci ukposts.info/have/v-deo/gXKqfIJseqCc2H0.html
@pavlenkoat
@pavlenkoat 2 роки тому
Докер файл формируется так же. Не надо делать 10 действий
@user-ox4ty5sk7b
@user-ox4ty5sk7b 2 роки тому
@@pavlenkoat спасибо за ссылку. Посмотрел тот ролик, но не нашел для себя конкретного ответа на вопрос: билдим и тестим проект рамках CI , а потом оборачиваем в контейнер или все шаги делаем через докер. Первый вариант выглядит более переносимым. Особенно в случае, если нужно будет отказаться от докера
@pavlenkoat
@pavlenkoat 2 роки тому
@@user-ox4ty5sk7b Все делаем в одной среде. Если на проде докер то все делаем в докере.
@Miron_MipoX
@Miron_MipoX 27 днів тому
Топчик!
@user-ce3lm7sz1k
@user-ce3lm7sz1k 9 місяців тому
огонь
@p4el63
@p4el63 Рік тому
ждем новых видео
@hwd1978
@hwd1978 3 роки тому
Каждый слой - это дельта по отношению к предыдущему или же полная копия предыдущего плюс дельта? И как посмотреть состав и размеры слоёв в образе, дабы оценить: стоит ли овчинка выделки?
@nyamka123987
@nyamka123987 Рік тому
Слой это дельта. Посмотреть можно экспортировав образ командой `docker save ImageID -o ImageName.tar`, затем выполнить `tar -xvf ImageName.tar` (желательно в пустой директории, т.к. скорее всего будет много файлов/директорий извлечено). Каждая новая директория - это слой, в каждой директории лежит layer.tar, их тоже надо распаковать. Распакованный layer.tar это и есть содержимое конкретного слоя. Количество слоёв скорее всего будет больше количества строк в Dockerfile (исключая комментарии и пустые строки), так как в директории будут лежать слои образов, на которых базируется ваш образ Только подставьте свой image id, а image name может быть произвольным, он ни на что не влияет
@eananyev
@eananyev 3 роки тому
Есть что-то, мельче alpine? Интересно, надо попробовать... Следующим этапом минимизации будет приложение в виде модуля к самому ядру?
@andreil174
@andreil174 3 роки тому
Есть scratch
@MrNippones
@MrNippones 3 роки тому
В поддержку коментарий)
@golbIi_veshaet
@golbIi_veshaet Рік тому
Коммент в поддержку
@MyF1ch
@MyF1ch 3 роки тому
А как обстоят дела с проектом который планировалось пилить, потом к нему чарт и выкладку, кто-нибудь делает?
@pavlenkoat
@pavlenkoat 3 роки тому
Есть видео на канале первое.
@andreyq9179
@andreyq9179 3 роки тому
Спасибо 2
@user-hn6ti7yp7w
@user-hn6ti7yp7w 3 роки тому
Класс
@user-ys9xn4io3j
@user-ys9xn4io3j 3 роки тому
Подскажите, что за редактор кода на видео был?
@pavlenkoat
@pavlenkoat 3 роки тому
Vscode
@oleksandrbatyn232
@oleksandrbatyn232 7 місяців тому
Ничего не понял, но буду учить
@alimzhanshabarov4204
@alimzhanshabarov4204 3 роки тому
Как использовать команду COPY чтобы копировать не директории Dockerfile, а с любого места на диске? К примеру, хочу скопировать так COPY /etc/nginx/nginx.conf /etc/nginx/nginx.conf
@dzen1234
@dzen1234 3 роки тому
Такое лучше на StackOverflow искать. Краткий ответ "никак", копировать можно только из build context. stackoverflow.com/questions/47012495/docker-copy-from-ubuntu-absolute-path
@user-hn6ti7yp7w
@user-hn6ti7yp7w 3 роки тому
Только совать конф nginx в докерфайл директорию.
@alimzhanshabarov4204
@alimzhanshabarov4204 3 роки тому
@@dzen1234 спасибо
@alimzhanshabarov4204
@alimzhanshabarov4204 3 роки тому
@@user-hn6ti7yp7w спасибо
@user-db8ny4nk8l
@user-db8ny4nk8l 3 роки тому
Что за файл и куда ты копируешь на строчке 6? 8:16
@pavlenkoat
@pavlenkoat 3 роки тому
Это конфиг. Я его буду передавать в докер
@user-db8ny4nk8l
@user-db8ny4nk8l 3 роки тому
@@pavlenkoat Спасибо
@alexxx4233
@alexxx4233 3 роки тому
Коммент в плечи - никто не вечен)
@_MiraD1n_
@_MiraD1n_ 3 роки тому
По очистке кеша это в яблочко👍
@user-qy9ly5mb9d
@user-qy9ly5mb9d 3 роки тому
Здравствуйте помогите разобраться, мне скинули инструкцию для одного Телеграмм бота звучит она так ( Устанавливаете Docker, создаёте рабочую станцию и открываете Docker систему из архива). Docker я установил, а всё остальное для меня тёмный лес. 126 палец в верх под вашим видео поставил.
@pavlenkoat
@pavlenkoat 3 роки тому
Есть видео про докерфайл и как докером пользоваться поищите на канале
@user-qy9ly5mb9d
@user-qy9ly5mb9d 3 роки тому
@@pavlenkoat Не помните как видео называется?
@caffeinejavacode1475
@caffeinejavacode1475 3 роки тому
комент для продвижения
@willgraham810
@willgraham810 2 роки тому
+поддержка
@finalistx
@finalistx 3 роки тому
привет, если ты собрал go.mod то тебе не нужно делать go get перед компиляцией, двойная работа получается
@pavlenkoat
@pavlenkoat 3 роки тому
Хм. Он при компиляции скачает?
@finalistx
@finalistx 3 роки тому
@@pavlenkoat да, для того и сделаны go modules, чтоб не делать go get
@pavlenkoat
@pavlenkoat 3 роки тому
@@finalistx Не знал я просто с разрабом консультировался. Он вот так сказал. Спасибо большое.
Bash vs Python для DevOps инженеров и системных администраторов
8:35
Мир IT с Антоном Павленко
Переглядів 42 тис.
СОБЕСЕДОВАНИЕ DevOps вопросы и ответы по сетям и протоколам
12:38
Мир IT с Антоном Павленко
Переглядів 36 тис.
Військовослужбовці ЗСУ проводять оповіщення в Полтаві
00:32
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
11:51
Мир IT с Антоном Павленко
Переглядів 91 тис.
Docker за 20 минут
21:42
suchkov tech
Переглядів 14 тис.
5 важных вещей о Docker для начинающих
26:34
PurpleSchool | Anton Larichev
Переглядів 17 тис.
Что такое Docker? Урок по контейнеризации для начинающих
18:52
Что должен знать DevOps инженер? DevOps Roadmap 2024. Выбор подписчиков
16:31
Мир IT с Антоном Павленко
Переглядів 15 тис.
Здесь Docker не нужен! Почему?
10:04
Мир IT с Антоном Павленко
Переглядів 13 тис.
СОБЕСЕДОВАНИЕ DevOps вопросы и ответы по DevOps
12:20
Мир IT с Антоном Павленко
Переглядів 23 тис.
СОБЕСЕДОВАНИЕ Middle DevOps инженера. Часть 1. Теория DevOps и SRE
32:21
Мир IT с Антоном Павленко
Переглядів 19 тис.
Зачем вы показываете ноутбук в аэропорту?✈️
0:29
Интел подвинься, ARM уже в ПК!
14:06
PRO Hi-Tech
Переглядів 137 тис.