Що таке XSS-вразливість 🤔
📌 XSS (англ. Cross Site Scripting — «міжсайтовий скриптинг») — тип вразливості інтерактивних інформаційних систем у вебі. XSS виникає, коли на сторінки, які були згенеровані сервером, з якоїсь причини потрапляють користувацькі скрипти.
👀 Це досить поширена вразливість, яку можна виявити на багатьох вебзастосунках. Її суть досить проста: зловмиснику вдається впровадити на сторінку JavaScript-код, який не було передбачено розробниками. Цей код буде виконуватися щоразу, коли жертви (звичайні користувачі) заходитимуть на сторінку програми, куди цей код було додано. А далі є кілька сценаріїв розвитку👇
#codica_tech
📌 XSS (англ. Cross Site Scripting — «міжсайтовий скриптинг») — тип вразливості інтерактивних інформаційних систем у вебі. XSS виникає, коли на сторінки, які були згенеровані сервером, з якоїсь причини потрапляють користувацькі скрипти.
👀 Це досить поширена вразливість, яку можна виявити на багатьох вебзастосунках. Її суть досить проста: зловмиснику вдається впровадити на сторінку JavaScript-код, який не було передбачено розробниками. Цей код буде виконуватися щоразу, коли жертви (звичайні користувачі) заходитимуть на сторінку програми, куди цей код було додано. А далі є кілька сценаріїв розвитку👇
#codica_tech
👍4❤2🔥1
❗️ Перший: зловмиснику вдасться отримати авторизаційні дані користувача та увійти до його облікового запису.
❗️ Другий: зловмисник може непомітно для жертви перенаправити його на іншу сторінку-клон. Ця сторінка може виглядати цілком ідентично тій, де користувач розраховував опинитися. Але належатиме вона зловмиснику. Якщо користувач не помітить заміни і на цій сторінці введе якісь sensitive data, тобто особисті дані, вони виявляться у зловмисника.
❗️Третій ... та загалом багато чого ще можна придумати. Майже все, що може JavaScript стає доступним для зловмисника.
‼️ Тестувальник повинен вміти перевіряти свій вебзастосунок на вразливості.
Як влаштована вразливість❓
🧐 Насамперед, як саме вдається впровадити на сторінку JavaScript-код, якого там раніше не було? І як виходить розповсюдити цей код серед інших користувачів?
😑 Наприклад, можна додати JavaScript-код у поле введення, текст якого зберігається і надалі відображається на сторінці для всіх користувачів. Це може бути поле для введення інформації про себе на сторінці профілю соціальної мережі або коментарі на форумі.
⌨️ Зловмисник вводить текст (і шкідливий код), який зберігається на сторінці. Коли інші користувачі зайдуть на цю сторінку, разом з текстом вони завантажать і JavaScript-код зловмисника. Саме на момент завантаження цей код відпрацює. Звичайно, вразливість спрацює, тільки якщо текст при збереженні не буде захищений.
Чому такі помилки часто трапляються на веб-проектах❓
👉 Суть у тому, що браузер не може самостійно відрізнити звичайний текст від тексту CSS, HTML або JavaScript-коду. Він намагатиметься обробляти все, що знаходиться між тегами <script>, як JavaScript-код. Все, що знаходиться між тегами <style>, вважати CSS. І все, що схоже на тег, вважати HTML-кодом.
☝️ Якщо розробник хоче, щоб якийсь текст тільки виглядав як код, але таким не був (тобто не оброблявся браузером, а виводився як є), цей текст треба спеціально обробити перш, ніж віддати його браузеру. Така обробка називається "екрануванням".
🖥 У процесі екранування тексту в цьому тексті всі спеціальні символи замінюються їх "аналогами", і браузер вже знає напевно, що це просто текст. Найважливіше обробляти той текст, який надходить від користувача, тому що будь-який користувач може виявитися зловмисником і разом з текстом надіслати якийсь код. На жаль, іноді розробники забувають про екранування в тих чи інших місцях вебпрограми, і текст виводиться без будь-якої обробки.
🖇 Наприклад, не завжди програміст тримає в голові всі місця, де текст, заданий користувачем, потрапляє на сторінку. І більше, іноді різні частини сайту можуть створюватися у різний час та/або різними людьми. І тут ймовірність помилки зростає.
Заради безпеки та захисту своїх користувачів необхідно вміти шукати та закривати подібні вразливості на ваших проєктах 😌
TikTok | Instagram
#codica_tech
❗️ Другий: зловмисник може непомітно для жертви перенаправити його на іншу сторінку-клон. Ця сторінка може виглядати цілком ідентично тій, де користувач розраховував опинитися. Але належатиме вона зловмиснику. Якщо користувач не помітить заміни і на цій сторінці введе якісь sensitive data, тобто особисті дані, вони виявляться у зловмисника.
❗️Третій ... та загалом багато чого ще можна придумати. Майже все, що може JavaScript стає доступним для зловмисника.
‼️ Тестувальник повинен вміти перевіряти свій вебзастосунок на вразливості.
Як влаштована вразливість❓
🧐 Насамперед, як саме вдається впровадити на сторінку JavaScript-код, якого там раніше не було? І як виходить розповсюдити цей код серед інших користувачів?
😑 Наприклад, можна додати JavaScript-код у поле введення, текст якого зберігається і надалі відображається на сторінці для всіх користувачів. Це може бути поле для введення інформації про себе на сторінці профілю соціальної мережі або коментарі на форумі.
⌨️ Зловмисник вводить текст (і шкідливий код), який зберігається на сторінці. Коли інші користувачі зайдуть на цю сторінку, разом з текстом вони завантажать і JavaScript-код зловмисника. Саме на момент завантаження цей код відпрацює. Звичайно, вразливість спрацює, тільки якщо текст при збереженні не буде захищений.
Чому такі помилки часто трапляються на веб-проектах❓
👉 Суть у тому, що браузер не може самостійно відрізнити звичайний текст від тексту CSS, HTML або JavaScript-коду. Він намагатиметься обробляти все, що знаходиться між тегами <script>, як JavaScript-код. Все, що знаходиться між тегами <style>, вважати CSS. І все, що схоже на тег, вважати HTML-кодом.
☝️ Якщо розробник хоче, щоб якийсь текст тільки виглядав як код, але таким не був (тобто не оброблявся браузером, а виводився як є), цей текст треба спеціально обробити перш, ніж віддати його браузеру. Така обробка називається "екрануванням".
🖥 У процесі екранування тексту в цьому тексті всі спеціальні символи замінюються їх "аналогами", і браузер вже знає напевно, що це просто текст. Найважливіше обробляти той текст, який надходить від користувача, тому що будь-який користувач може виявитися зловмисником і разом з текстом надіслати якийсь код. На жаль, іноді розробники забувають про екранування в тих чи інших місцях вебпрограми, і текст виводиться без будь-якої обробки.
🖇 Наприклад, не завжди програміст тримає в голові всі місця, де текст, заданий користувачем, потрапляє на сторінку. І більше, іноді різні частини сайту можуть створюватися у різний час та/або різними людьми. І тут ймовірність помилки зростає.
Заради безпеки та захисту своїх користувачів необхідно вміти шукати та закривати подібні вразливості на ваших проєктах 😌
TikTok | Instagram
#codica_tech
👍9❤3🔥2👏1
15 лютого AWS User Group Ukraine та N-iX запрошують на AWS re:Invent re:Cap!
Найбільша у світі конференція з хмарних технологій AWS re:Invent відбулася в Лас-Вегасі.
🔥 Разом зі спікерами з AWS та N-iX організовуємо re:Cap, щоб обговорити основні анонси AWS re:Invent 2022 та детально розібратися у найважливіших для різноманітних спеціалістів.
Що очікувати?
🔸 овервʼю найголовнішого від Ігоря Іванюка, Sr. Solutions Architect в AWS
Головні анонси та новинки для: AWS інфраструктури, Data/ML, інструментів безпеки, IT Ops.
🔸 панельна дискусія за участі:
Ігоря Іванюка, Sr. Solutions Architect в AWS
Дениса Головатюка, Country Lead в AWS
Дмитра Овчаренко, Director of Technology Office в N-iX
Олексія Зайця, Chief Information Technology Architect в ПриватБанк
Keytopics: великі міграції в Amazon: досвід ПриватБанку та побудова Secure SDLC за допомогою AWS сервісів.
Коли: 15 лютого о 18:00 (за київським часом)
Формат: онлайн
🧡 Подаруємо тепло дітям: приєднуйтесь комфортним донатом до збору БФ “Клуб Добродіїв” ━ 45 100 грн на спальники і шапки для 2000 дітей на прифронтових територіях
👉 Деталі та реєстрація: http://bit.ly/3ljJjmy
Долучайтеся, щоб поставити свої запитання під час Q&A сесій!
Це буде AWSome!
Найбільша у світі конференція з хмарних технологій AWS re:Invent відбулася в Лас-Вегасі.
🔥 Разом зі спікерами з AWS та N-iX організовуємо re:Cap, щоб обговорити основні анонси AWS re:Invent 2022 та детально розібратися у найважливіших для різноманітних спеціалістів.
Що очікувати?
🔸 овервʼю найголовнішого від Ігоря Іванюка, Sr. Solutions Architect в AWS
Головні анонси та новинки для: AWS інфраструктури, Data/ML, інструментів безпеки, IT Ops.
🔸 панельна дискусія за участі:
Ігоря Іванюка, Sr. Solutions Architect в AWS
Дениса Головатюка, Country Lead в AWS
Дмитра Овчаренко, Director of Technology Office в N-iX
Олексія Зайця, Chief Information Technology Architect в ПриватБанк
Keytopics: великі міграції в Amazon: досвід ПриватБанку та побудова Secure SDLC за допомогою AWS сервісів.
Коли: 15 лютого о 18:00 (за київським часом)
Формат: онлайн
🧡 Подаруємо тепло дітям: приєднуйтесь комфортним донатом до збору БФ “Клуб Добродіїв” ━ 45 100 грн на спальники і шапки для 2000 дітей на прифронтових територіях
👉 Деталі та реєстрація: http://bit.ly/3ljJjmy
Долучайтеся, щоб поставити свої запитання під час Q&A сесій!
Це буде AWSome!
❤6👍3🔥2
Всім гарного недільного дня, ловіть невеличкий дайджест новин зі світу IT від @Mister_Cody 🐾
👀 GitHub звільняє 10% співробітників і переходить на повний remote.
📚 Розробка на Java — з чого почати знайомство з мовою.
💰 Blackpearl Group із Нової Зеландії придбала українську NewOldStamp за понад $3 млн.
🔎 Google впровадить нові налаштування для безпечного пошуку.
💼 Власнику «Київстару» дозволили продати російські активи.
🎓 Linux, Git і Kubernetes. Українцям нададуть безплатний доступ до ІТ-курсів від The Linux Foundation.
TikTok | Instagram
👀 GitHub звільняє 10% співробітників і переходить на повний remote.
📚 Розробка на Java — з чого почати знайомство з мовою.
💰 Blackpearl Group із Нової Зеландії придбала українську NewOldStamp за понад $3 млн.
🔎 Google впровадить нові налаштування для безпечного пошуку.
💼 Власнику «Київстару» дозволили продати російські активи.
🎓 Linux, Git і Kubernetes. Українцям нададуть безплатний доступ до ІТ-курсів від The Linux Foundation.
TikTok | Instagram
👍11❤3🔥2
Які операції можна застосувати до цього списку?
Anonymous Quiz
61%
b.length()
12%
b.remоve()
14%
b.reverse()
12%
b.include?"Some"
👍4🔥2❤1
Що таке bash/shell 🧐
📌 Bash (скор. від «Bourne-Again shell») — це командна оболонка (або «інтерпретатор командного рядка»), яка використовується за замовчуванням в операційних системах на базі Unix та Linux, створена в 1989 році Брайаном Фоксом з метою вдосконалення командної оболонки sh.
👉 Bash дозволяє автоматизувати різні завдання, встановлювати програмне забезпечення, налаштовувати конфігурації для свого робочого оточення та багато іншого.
#codica_tech
📌 Bash (скор. від «Bourne-Again shell») — це командна оболонка (або «інтерпретатор командного рядка»), яка використовується за замовчуванням в операційних системах на базі Unix та Linux, створена в 1989 році Брайаном Фоксом з метою вдосконалення командної оболонки sh.
👉 Bash дозволяє автоматизувати різні завдання, встановлювати програмне забезпечення, налаштовувати конфігурації для свого робочого оточення та багато іншого.
#codica_tech
👍9🔥3❤2
📌 Shell (або «шелл», «командна оболонка») — це не тільки командний інтерпретатор, який забезпечує інтерфейс взаємодії між користувачем та ядром операційної системи, але й своєрідна мова програмування, в якій присутні такі конструкції, як оператори умовного розгалуження, цикли, змінні та багато іншого.
👉 Операційна система запускає командну оболонку для кожного користувача, коли той входить у систему чи відкриває вікно терміналу. Першим, що користувач побачить у вікні терміналу, буде запрошення оболонки — воно, як правило, складається з імені користувача та імені хоста, відокремлених один від одного символом @, слідом за ними йде шлях поточної робочої директорії та один із двох символів: $ або #.
☝️ Якщо користувач не має особливих прав, то як запрошення для введення команд у терміналі відображатиметься символ $. Якщо ж було виконано вхід під обліковим записом привілейованого користувача, то в терміналі відображатиметься символ #.
💻 Після запрошення користувач вводить різні команди в термінал, оболонка запускає програми для користувача, а потім відображає в терміналі результат їхнього виконання. Команди можуть бути введені безпосередньо самим користувачем або зчитані з файлу, який називається shell-скриптом або shell-програмою.
Як дізнатися, яка оболонка в мене встановлена❓
👉 Якщо ви починаєте своє знайомство з Linux і не змінювали оболонку, то найімовірніше, що у вашій системі використовується bash. Найпростіший спосіб дізнатися, яка оболонка використовується в даний момент — це звернутися до змінної оточення SHELL:
echo $SHELL
👀 Щоб переглянути всі доступні оболонки у вашій системі, необхідно звернутися до вмісту файлу /etc/shells:
cat /etc/shells
TikTok | Instagram
#codica_tech
👉 Операційна система запускає командну оболонку для кожного користувача, коли той входить у систему чи відкриває вікно терміналу. Першим, що користувач побачить у вікні терміналу, буде запрошення оболонки — воно, як правило, складається з імені користувача та імені хоста, відокремлених один від одного символом @, слідом за ними йде шлях поточної робочої директорії та один із двох символів: $ або #.
☝️ Якщо користувач не має особливих прав, то як запрошення для введення команд у терміналі відображатиметься символ $. Якщо ж було виконано вхід під обліковим записом привілейованого користувача, то в терміналі відображатиметься символ #.
💻 Після запрошення користувач вводить різні команди в термінал, оболонка запускає програми для користувача, а потім відображає в терміналі результат їхнього виконання. Команди можуть бути введені безпосередньо самим користувачем або зчитані з файлу, який називається shell-скриптом або shell-програмою.
Як дізнатися, яка оболонка в мене встановлена❓
👉 Якщо ви починаєте своє знайомство з Linux і не змінювали оболонку, то найімовірніше, що у вашій системі використовується bash. Найпростіший спосіб дізнатися, яка оболонка використовується в даний момент — це звернутися до змінної оточення SHELL:
echo $SHELL
👀 Щоб переглянути всі доступні оболонки у вашій системі, необхідно звернутися до вмісту файлу /etc/shells:
cat /etc/shells
TikTok | Instagram
#codica_tech
👍7❤3🔥3
Codica це...
Кожен з нас по-особливому ідентифікує, що для нього Codica. Для когось Codica - це неймовірна команда, мемчики в чаті, цікаві проєкти, можливість навчатися та бути почутим 🫶
#CodicaTeam вітає вас із Днем Закоханих та бажає кожному знайти своє кохання 💕
Кожен з нас по-особливому ідентифікує, що для нього Codica. Для когось Codica - це неймовірна команда, мемчики в чаті, цікаві проєкти, можливість навчатися та бути почутим 🫶
#CodicaTeam вітає вас із Днем Закоханих та бажає кожному знайти своє кохання 💕
❤18🥰4🔥1
Принцип Парето - що це таке і чи потрібно застосовувати його на роботі? 👀
📌 20% досліджуваних об'єктів належать до 80% певних ресурсів - так звучить принцип Парето. Що це означає? Іншими словами, невелика частина ваших завдань або робіт приносить аж 80% прибутку і вигод. Завдяки цьому ви можете заощадити час і знайти моменти в своїй роботі, які зменшують вашу продуктивність.
#codica_advice
📌 20% досліджуваних об'єктів належать до 80% певних ресурсів - так звучить принцип Парето. Що це означає? Іншими словами, невелика частина ваших завдань або робіт приносить аж 80% прибутку і вигод. Завдяки цьому ви можете заощадити час і знайти моменти в своїй роботі, які зменшують вашу продуктивність.
#codica_advice
👍8❤3🔥1
Що таке принцип Парето❓
🔖 Принцип Парето, також званий правилом 80/20 або 80 на 20, був сформульований на початку 1950-х років Джозефом Юраном, але був заснований на відносинах, які помітив Вільфредо Парето, а саме, що 80% світових товарів належать 20% людства. Перетворюючи ці значення в інші змінні, виходить, що в разі повторюваних дій це правило працює. Звичайно, це не завжди точне співвідношення, значення досить ілюстративне і не буде застосовуватися в кожній ситуації, але в багатьох випадках принцип Парето працює відмінно.
Як виглядає принцип Парето в повсякденному житті і де ви можете його побачити? 🤔
Є багато прикладів, і до них належать такі ситуації, як:
▪️дорожні пригоди, ДТП - близько 20% водіїв винні у 80% аварій;
▪️інтернет - 20% користувачів зазвичай генерують 80% контенту. Аналогічно це правило діє на різних порталах, наприклад, YouTube. Хоча у каналів багато підписників, 80% коментарів надходять від 20% з них;
▪️іспити - зазвичай 80% іспиту засновано на 20% матеріалу. Варто поставити питання, що є найбільш важливим, і саме про це сказати учням або студентам;
▪️гардероб - безумовно, майже кожен при огляді гардеробу дізнається, що у нього багато одягу, який він взагалі не носить, близько 20% одягу ви носите 80% часу.
☝️ Таких прикладів можна навести більше, і якщо ви помітите деякі залежності, то зможете навчитися завдяки принципу Парето економити час і простір.
Діяльність 80 з 20 може поліпшити роботу компанії і її персоналу 💼
Як це зробити?
👉 Спочатку ви повинні розуміти, що в значній мірі тільки 20% вашої діяльності дають до 80% результатів. Тому на них варто зосередитися. Наприклад, припустимо, що ви працюєте в компанії, де переважає спілкування з клієнтами. Ви намагаєтеся ставитися до кожного з них з належною повагою, приділяєте їм багато часу, незважаючи на те, що іноді це не дає бажаного результату. Ви розумієте, що тільки 20% ваших клієнтів дійсно приносять прибуток компанії, а решта – не мають особливого значення, хоча час, витрачений на них, вимірюється годинами.
✔️ Якщо ви відмовитеся від співпраці з такими клієнтами і присвятите весь час і сили щойно згаданим 20%, ви збільшите не тільки прибуток, але і час, який приділяєте роботі.
😌 Тому на початку варто вказати змінні, які ви можете виміряти. Виділіть дії, які насправді можуть генерувати 80% результатів і які, безумовно, заслуговують роботи. Перевірте, які завдання повторюються, і подивіться на них. Проаналізуйте час, присвячений їм:
🔎 Чи можете ви зробити більше?
🔎 Чи не витрачаєте ви його даремно?
🔎 Чи немає у вашій роботі факторів, які відволікають і які можна було б усунути?
📍 Якщо ви знайдете завдання, в яких відповідь на вищевказані питання ствердна, подивіться на них уважніше і оцініть, які елементи цієї роботи приносять найбільшу користь. Коли ви їх знайдете, то зможете цілком зосередитися на них, підвищити продуктивність і заощадити час.
TikTok | Instagram
#codica_advice
🔖 Принцип Парето, також званий правилом 80/20 або 80 на 20, був сформульований на початку 1950-х років Джозефом Юраном, але був заснований на відносинах, які помітив Вільфредо Парето, а саме, що 80% світових товарів належать 20% людства. Перетворюючи ці значення в інші змінні, виходить, що в разі повторюваних дій це правило працює. Звичайно, це не завжди точне співвідношення, значення досить ілюстративне і не буде застосовуватися в кожній ситуації, але в багатьох випадках принцип Парето працює відмінно.
Як виглядає принцип Парето в повсякденному житті і де ви можете його побачити? 🤔
Є багато прикладів, і до них належать такі ситуації, як:
▪️дорожні пригоди, ДТП - близько 20% водіїв винні у 80% аварій;
▪️інтернет - 20% користувачів зазвичай генерують 80% контенту. Аналогічно це правило діє на різних порталах, наприклад, YouTube. Хоча у каналів багато підписників, 80% коментарів надходять від 20% з них;
▪️іспити - зазвичай 80% іспиту засновано на 20% матеріалу. Варто поставити питання, що є найбільш важливим, і саме про це сказати учням або студентам;
▪️гардероб - безумовно, майже кожен при огляді гардеробу дізнається, що у нього багато одягу, який він взагалі не носить, близько 20% одягу ви носите 80% часу.
☝️ Таких прикладів можна навести більше, і якщо ви помітите деякі залежності, то зможете навчитися завдяки принципу Парето економити час і простір.
Діяльність 80 з 20 може поліпшити роботу компанії і її персоналу 💼
Як це зробити?
👉 Спочатку ви повинні розуміти, що в значній мірі тільки 20% вашої діяльності дають до 80% результатів. Тому на них варто зосередитися. Наприклад, припустимо, що ви працюєте в компанії, де переважає спілкування з клієнтами. Ви намагаєтеся ставитися до кожного з них з належною повагою, приділяєте їм багато часу, незважаючи на те, що іноді це не дає бажаного результату. Ви розумієте, що тільки 20% ваших клієнтів дійсно приносять прибуток компанії, а решта – не мають особливого значення, хоча час, витрачений на них, вимірюється годинами.
✔️ Якщо ви відмовитеся від співпраці з такими клієнтами і присвятите весь час і сили щойно згаданим 20%, ви збільшите не тільки прибуток, але і час, який приділяєте роботі.
😌 Тому на початку варто вказати змінні, які ви можете виміряти. Виділіть дії, які насправді можуть генерувати 80% результатів і які, безумовно, заслуговують роботи. Перевірте, які завдання повторюються, і подивіться на них. Проаналізуйте час, присвячений їм:
🔎 Чи можете ви зробити більше?
🔎 Чи не витрачаєте ви його даремно?
🔎 Чи немає у вашій роботі факторів, які відволікають і які можна було б усунути?
📍 Якщо ви знайдете завдання, в яких відповідь на вищевказані питання ствердна, подивіться на них уважніше і оцініть, які елементи цієї роботи приносять найбільшу користь. Коли ви їх знайдете, то зможете цілком зосередитися на них, підвищити продуктивність і заощадити час.
TikTok | Instagram
#codica_advice
👍14❤1🔥1
👍6❤1🔥1
Codica - корисне про IT
Docker volumes та bind mounts: різниця між ними та для чого вони потрібні 🌚 👉 Існують два способи, що дозволяють зробити термін життя даних більшим за термін життя контейнера. Один із способів полягає у використанні bind mount. При такому підході до контейнера…
Docker build та docker builders 🤓
📌 Docker Build — одна з найбільш використовуваних функцій Docker Engine. Щоразу, коли ви створюєте образ, ви використовуєте Docker Build. Збірка є ключовою частиною життєвого циклу розробки програмного забезпечення, що дозволяє вам укомплектовувати код та всі його залежності й надсилати його будь куди.
☝️ Білд — це один з найуразливіших моментів у циклі життя контейнера та застосунку всередині контейнера.
Команда docker build створює образ Docker з Dockerfile і «контексту». Контекст збірки — це набір файлів хоста або віддалених серверів, які контейнер використовує в інструкціях. Build процес може посилатися на будь-який файл. Наприклад, ваша збірка може використовувати інструкцію COPY для посилання на файл з хоста.
#codica_tech
📌 Docker Build — одна з найбільш використовуваних функцій Docker Engine. Щоразу, коли ви створюєте образ, ви використовуєте Docker Build. Збірка є ключовою частиною життєвого циклу розробки програмного забезпечення, що дозволяє вам укомплектовувати код та всі його залежності й надсилати його будь куди.
☝️ Білд — це один з найуразливіших моментів у циклі життя контейнера та застосунку всередині контейнера.
Команда docker build створює образ Docker з Dockerfile і «контексту». Контекст збірки — це набір файлів хоста або віддалених серверів, які контейнер використовує в інструкціях. Build процес може посилатися на будь-який файл. Наприклад, ваша збірка може використовувати інструкцію COPY для посилання на файл з хоста.
#codica_tech
👍8🔥3
🖇 Параметр URL може посилатися на три типи ресурсів: Git репозиторії, попередньо запаковані контексти архівів і директорії.
$ docker image build [OPTIONS] PATH | URL | -
👉 Під час білда білдеру можна видати багато різних прапорів, наприклад, обмежити йому кількість пам'яті (-m ) або кількість ядер процесора (--cpu-shares).
❗️Якщо використовувати звичайний docker build, то з ним є кілька проблем. Використовуючи підхід звичайного docker build, ви маєте запустити докер демон, а це вимагає величезної кількості інших доступів, які виходять за межі білд процесу. Тому часто рекомендують використовувати rootless білдери. Про них ми і поговоримо далі.
💻 Новий клієнт Docker Buildx — це плагін CLI, який розширює команду docker повною підтримкою функцій, наданих набором інструментів BuildKit Builder.
🔗 Buildkit вже дає нам можливість “rootlessly” та “deamonlessly” збирати контейнери. Також у нього є ряд переваг перед іншими рутлес білдерами, головна з яких це те, що він є частиною стандартного постачання Docker.
💁♂️ З інших варіантів є Podman.
Коли викликається podman build і контейнеру потрібна “зміна” власника, вміст файлової системи копіюється, а власник змінюється, як наслідок - неефективне використання дискового простору.
📍 Інший приклад це Kaniko. Він також належить до rootless і deamonless білдерів і був створений гуглом. Він розпаковує файлову систему з нашого імеджу, який ми вказуємо в FROM інструкції, далі виконує команди, описані в Dockerfile, роблячи снапшоти файлової системи юзерспейсу після кожної команди, після чого додає шари зі змінами до базового імеджу й оновлює метадані імеджу.
😌 У Codica ми використовуємо переважно Kaniko (якщо вам цікаво більше про це дізнатися, напишіть у коментарях, ми зробимо окремий допис).
Це далеко не весь перелік білдерів. Процес збірки контейнерів – це дуже комплексна тема і є багато різних рішень. Виділити найкраще з них складно 🙂
TikTok | Instagram
#codica_tech
$ docker image build [OPTIONS] PATH | URL | -
👉 Під час білда білдеру можна видати багато різних прапорів, наприклад, обмежити йому кількість пам'яті (-m ) або кількість ядер процесора (--cpu-shares).
❗️Якщо використовувати звичайний docker build, то з ним є кілька проблем. Використовуючи підхід звичайного docker build, ви маєте запустити докер демон, а це вимагає величезної кількості інших доступів, які виходять за межі білд процесу. Тому часто рекомендують використовувати rootless білдери. Про них ми і поговоримо далі.
💻 Новий клієнт Docker Buildx — це плагін CLI, який розширює команду docker повною підтримкою функцій, наданих набором інструментів BuildKit Builder.
🔗 Buildkit вже дає нам можливість “rootlessly” та “deamonlessly” збирати контейнери. Також у нього є ряд переваг перед іншими рутлес білдерами, головна з яких це те, що він є частиною стандартного постачання Docker.
💁♂️ З інших варіантів є Podman.
Коли викликається podman build і контейнеру потрібна “зміна” власника, вміст файлової системи копіюється, а власник змінюється, як наслідок - неефективне використання дискового простору.
📍 Інший приклад це Kaniko. Він також належить до rootless і deamonless білдерів і був створений гуглом. Він розпаковує файлову систему з нашого імеджу, який ми вказуємо в FROM інструкції, далі виконує команди, описані в Dockerfile, роблячи снапшоти файлової системи юзерспейсу після кожної команди, після чого додає шари зі змінами до базового імеджу й оновлює метадані імеджу.
😌 У Codica ми використовуємо переважно Kaniko (якщо вам цікаво більше про це дізнатися, напишіть у коментарях, ми зробимо окремий допис).
Це далеко не весь перелік білдерів. Процес збірки контейнерів – це дуже комплексна тема і є багато різних рішень. Виділити найкраще з них складно 🙂
TikTok | Instagram
#codica_tech
👍11🔥2