*Краткая аннотация к видео + временные метки:* Зачем изолировать процессы, работающие в одной ОС. Linux команда chroot для смены корневого каталога в процессе. chroot и docker. 00:33 - Постановка проблемы (необходимость изолирования приложений, выполняющихся внутри одной ОС, на примере nodeJS приложения). 06:53 - Демонстрация команды chroot в WSL2 (Windows Subsystem Linux). Копирование node + связанных библиотек в отдельную папку и запуск node из этой папки с использованием chroot 09:48 - Использование команды ldd (list dynamic dependencies) для получения путей динамически подключаемых библиотек для node 10:40 - Создание родительской папки + двух подпапок одной командой mkdir -p /tmp/newroot/{lib,lib64} 11:14 - Использование ldd ... | awk ... | grep ... | xargs ... cp ... для копирования всех путей из аутпута ldd ldd `which node` | awk '{ print $3 }' | grep / | xargs -n1 -I PLACEHOLDER cp -v PLACEHOLDER /tmp/newroot/lib 14:49 - Демонстрация файловой системы внутри docker контейнера: Cоздается контейнер node:11 Экспортируется файловая система из контейнера в host В хосте запускается shell через chroot. В качестве root directory указывается папка с экспортированными файлами из контейнера node:11. Демонстрируется, что node в этой системе 11 версии, хотя в хосте он был версии 14. 17:04 - Обозначается недостаточность изолирования только лишь файловой системы (анонс следующих видео). *Итого:* # Обосновывается необходимость изоляции процессов, работающих на одной машине. # Описывается linux команда chroot. Демонстрируется, что Docker использует те же механизмы для изоляции файловых систем, что и chroot. Другие аспекты Docker пока что НЕ затрагиваются (такие как docker CLI, разграничение ресурсов, изоляция процессов в контейнере и т. д.). chroot позволяет запустить процесс так, что указанная папка для этого процесса будет выглядеть как root directory ("/"). При этом приложение будет иметь доступ только к подпапкам этой директории. Другие аспекты docker-а в этом видео не затрагиваются. *Offtopic:* Кто-нибудь знает как эcкейпить маркдаун в комментах ютьюба?
Подача материала очень понравилась! Да, пока мало что понятно, так как в linux минимальные познания, но смотреть интересно, не засыпаешь как у некоторых. Смотрю дальше.
Обладал раньше набором разрозненной информации по подноготной работы Docker. После этого видео многие вещи в голове сложились в ясную последовательность. Неплохо!
Сидел с открытым ртом, когда ты экспортировал файловую систему из контейнера и chrootнулся туда. Не думал, что так возможно вообще. С нетерпением жду следующего выпуска!
Слушай, хотел изолировать но так и не понял как, изолировать имеено те либы которые ставтся через допустим apt, допустим у меня стоит teseract,unrtf libmagic, и затем через virtualenv в питоновском проекте юзаю, как эот все изолировать?неужели нужно собирать из исходников в отдельную папку, и искать как подклчитть их, или можно просто указать системную путь к тому же тесеракту у меня в папке, а как ограничить питон? или виртуалинв сразу изолирует от всего?
@@JavaScriptNinja Думал подписаться на патреон пару недель назад, и он показывал, что последний контент был по сути 4 февраля( не считая текстового поста). Он не все показывает или ,так и есть? Сейчас смотрю, тоже только один ролик по CI, всего курса там нету?
@@kaktotak-c3h Нету, он выходит по мере записи. Следующее видео на патреоне будет завтра. Постепенно выходим с карантина и нагоняем стандартную задержку "разница между патреоном и Ютуб - 3 месяца"
братан здоров, мне нужна помощь, пожалуйста, помогите мне, я создал контейнер, и он работал нормально, и через несколько недель я переустановил контейнер, удалив все, но после переустановки пишет ошибку (Restarting seconds ago ), я сделал все , остановил контейнер с новым, переустановил контейнер все сделал, не работает, пишет той же ошибку
@@vadimpetrov2052 Благодарю Вас за транскрипцию, а теперь послушайте, как это слово должно звучать - www.oxfordlearnersdictionaries.com/definition/english/world?q=world Ну вот вообще не так же, как "bird"!
Спасибо за классные видео! Искал как именно устроен Docker, а везде всё одно и то же: как им пользоваться. Но эта серия видео, что мне и надо
Спасибо, дорогой! Илья, ты просто умничка!
*Краткая аннотация к видео + временные метки:*
Зачем изолировать процессы, работающие в одной ОС. Linux команда chroot для смены корневого каталога в процессе. chroot и docker.
00:33 - Постановка проблемы (необходимость изолирования приложений, выполняющихся внутри одной ОС, на примере nodeJS приложения).
06:53 - Демонстрация команды chroot в WSL2 (Windows Subsystem Linux).
Копирование node + связанных библиотек в отдельную папку и запуск node из этой папки с использованием chroot
09:48 - Использование команды ldd (list dynamic dependencies) для получения путей динамически подключаемых библиотек для node
10:40 - Создание родительской папки + двух подпапок одной командой
mkdir -p /tmp/newroot/{lib,lib64}
11:14 - Использование ldd ... | awk ... | grep ... | xargs ... cp ... для копирования всех путей из аутпута ldd
ldd `which node` | awk '{ print $3 }' | grep / | xargs -n1 -I PLACEHOLDER cp -v PLACEHOLDER /tmp/newroot/lib
14:49 - Демонстрация файловой системы внутри docker контейнера:
Cоздается контейнер node:11
Экспортируется файловая система из контейнера в host
В хосте запускается shell через chroot. В качестве root directory указывается папка с экспортированными файлами из контейнера node:11.
Демонстрируется, что node в этой системе 11 версии, хотя в хосте он был версии 14.
17:04 - Обозначается недостаточность изолирования только лишь файловой системы (анонс следующих видео).
*Итого:*
# Обосновывается необходимость изоляции процессов, работающих на одной машине.
# Описывается linux команда chroot. Демонстрируется, что Docker использует те же механизмы для изоляции файловых систем, что и chroot.
Другие аспекты Docker пока что НЕ затрагиваются (такие как docker CLI, разграничение ресурсов, изоляция процессов в контейнере и т. д.).
chroot позволяет запустить процесс так, что указанная папка для этого процесса будет выглядеть как root directory ("/").
При этом приложение будет иметь доступ только к подпапкам этой директории.
Другие аспекты docker-а в этом видео не затрагиваются.
*Offtopic:* Кто-нибудь знает как эcкейпить маркдаун в комментах ютьюба?
Лайк за магию с терминалом
Замечательно! Вот за такие видео и уважаю Илью - легкий и наглядный рассказ про сложные вещи.
все равно тебе это не поможет
круто, буду продолжать смотреть про докер
пишу на Java, но было интересно послушать
Супер! Побольше unix магии!
чувак, контент - огонь!
Как всегда, Илья как преподаватель на высоте и вход в тему дал, и смог заинтересовать мелкими фишками из bash.
Ниче не понял, но очень интересно
i realize I'm kinda off topic but do anybody know a good website to stream new tv shows online ?
@Maverick Nathaniel lately I have been using flixzone. Just google for it =)
Кайф. Вот это я понимаю, понятно, круто, красиво и без воды :)
Подача материала очень понравилась! Да, пока мало что понятно, так как в linux минимальные познания, но смотреть интересно, не засыпаешь как у некоторых. Смотрю дальше.
А вы пробуйте повторить :) это (без шуток) круто качает скилл
Ждем продолжения.
Спасибо, интересно!
Класс!
Великолепно
Спасибо! Отлично!
Обладал раньше набором разрозненной информации по подноготной работы Docker. После этого видео многие вещи в голове сложились в ясную последовательность. Неплохо!
Вчера изучал bash скрипты и там про звездочку был показан пример 😁
Спасибо! Всегда хотел понять как работает эта магия awk, но что бы без лишнего и просто и понятно!
Виндовс мамтдай! Встраиваешь линукс - держи технологии взаимодействия открытыми!
Сидел с открытым ртом, когда ты экспортировал файловую систему из контейнера и chrootнулся туда. Не думал, что так возможно вообще.
С нетерпением жду следующего выпуска!
Слушай, хотел изолировать но так и не понял как, изолировать имеено те либы которые ставтся через допустим apt, допустим у меня стоит teseract,unrtf libmagic, и затем через virtualenv в питоновском проекте юзаю, как эот все изолировать?неужели нужно собирать из исходников в отдельную папку, и искать как подклчитть их, или можно просто указать системную путь к тому же тесеракту у меня в папке, а как ограничить питон? или виртуалинв сразу изолирует от всего?
спасибо огромное=)) особенно за магию с терминалом=)))
Очень круто, когда следующая часть?
На ютубе - через 2 недели :)
@@JavaScriptNinja Думал подписаться на патреон пару недель назад, и он показывал, что последний контент был по сути 4 февраля( не считая текстового поста). Он не все показывает или ,так и есть? Сейчас смотрю, тоже только один ролик по CI, всего курса там нету?
@@kaktotak-c3h Нету, он выходит по мере записи. Следующее видео на патреоне будет завтра. Постепенно выходим с карантина и нагоняем стандартную задержку "разница между патреоном и Ютуб - 3 месяца"
крутейший формат
Во время ручного раскладывания кишочек либ по каталогам в голове начал звучать странный голос. Он сказал, что какой-то "Патрег" почему-то "бох".
Патрег бох!
1:21 у питона же easy_install и pip, а виртуалэнвы это другое, типа NVM, но тоже отличается
Спасибо, познавательно.
мощь и сила)
просто бог
Здравствуйте Илья, спасибо за видео, не могли бы вы посоветовать курс или книгу по пониманию юникс систем, команд и тд. За ранее спасибо
JavaScript разраб рассказывает про docker?! что то тут не так)
спасибо.
братан здоров, мне нужна помощь, пожалуйста, помогите мне, я создал контейнер, и он работал нормально, и через несколько недель я переустановил контейнер, удалив все, но после переустановки пишет ошибку (Restarting seconds ago ), я сделал все , остановил контейнер с новым, переустановил контейнер все сделал, не работает, пишет той же ошибку
Всё круто, но что-то как-то резануло по уху "Хэло Вёрлд" )))
world [wɜːld]
@@vadimpetrov2052 Благодарю Вас за транскрипцию, а теперь послушайте, как это слово должно звучать - www.oxfordlearnersdictionaries.com/definition/english/world?q=world
Ну вот вообще не так же, как "bird"!
Абсолютно не понятное и затянутое объяснение, это объяснение для тех кто уже идеально знает докер и файловые системы чтоли?