Всегда root. Забыл об этом упомянуть. Там проблема безопасности стоит в другом ключе. Снаружи доступа к внутреннему устройству контейнера нет, как и у контейнера нет доступа к хосту. За счёт этого безопасность не страдает. Любой урон останется в контейнере
@@victormog не. Тут контейнеры построены так, что все, что должно работать - работает. Вообще не парься :) если найдёшь конкретный пример - кидай, рассмотрим
Я просто охереваю: каналы с околоайтишными звездоболами собирают по 30, 60, 100к подписчиков. Здесь же мужик наводит реальную движуху, делает действительно полезный, качественный контент - даже десятки нет.
Если у вас так же как у меня команда "docker run -d --name pg postgres" не стартовала контейнер в фоне, смотрите логи этого контейнера. Конкретно у меня ругалось что нужно указать superuser password для базы и тд. Но если что автору большое спасибо! После того как прошелся по различным туториалам ничего не понял и только тут все как в 1 классе очень просто про сложные вещи, браво!
Если кому интересно, mysql образ можно создать (+ запустить) так: docker run -p 3307:3306 --name dev-mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql Просто у меня почему-то глючила команда, когда я например пытался порты поставить в конец этой команды с ключом -p. Или MYSQL_ROOT_PASSWORD если в конец ставишь, то он его тоже не чувствует. Ну и подключение sudo mysql -u root -h 0.0.0.0 -P 3307 -p P.S. ставил на другой порт, так как лень было гуглить, как его освободить. UPD: service mysql stop и можно пробрасывать порт 3306
Ништяк! Мужик!! Базовые вкусности лучше чем где-либо показаны, дальше можно особо не вникать сразу, и делать красиво уже из этого. Работать можно с этим. Мне для локалхоста пригодится капец как, долго обходил тему не видел толковой инфы, а тут бац! И все понятно, и многие темы наперед открыты, а главное можно работать без выкручивания гениталий.
Отлично рассказываешь, сразу уловил суть! Никак руки не доходили до изучения темы контейнеризации, всё обходился виртуальными окружениями, но благодаря твоему дару объяснять свет начинает проливаться!
У кого будет проблема подключения к postgres на 23:09 - Необходимо дополнительно установить пакет postgresql-client, сама команда будет выглядеть следующим образом - "sudo psql -U postgres -h localhost"
Браво!!! Все четко, лаконично, полезно.... Как же иногда не хватает таких вот объяснений со стороны более опытных товарищей в жизни на конкретно заданные вопросы...
Дай Бог здоровья автору. Среди кучи нудного и усложненного материала должен был наконец появиться настоящий бриллиант, который просто расскажет об очень важных вещах.
Здорово! единственное под убунтой не удалось к постгресу подключиться, как на 23:03. контейнер запущен а команда ~$ sudo -u postgres psql -h localhost выдает sudo: неизвестный пользователь: postgres если меняю имя пользователя на моего текущего - не понимает остальные команды. или у меня на локальной должен быть установлен и запущен postgres чтобы это срабатывало? PS: с работой в терминале знаком слабо, возможно отсюда непонимание, но поиск по ключам вообще ничего не дал.
Редко пишу комментарии но у тебя талант понятным языком объяснять, столько красивых превьюшек везде и смонтированно местами лучше, но объясняют ужасно, спасибо!
Команда docker run -d --name pg postgres скачивает образ, но контейнер не запускает. Полазив по интернету наткнулся на ответ: "Однако есть проблема с -d. Ваш контейнер немедленно останавливается, если команды не выполняются на переднем плане. Docker требует, чтобы ваша команда продолжала работать на переднем плане. В противном случае он считает, что ваши приложения останавливаются и завершают работу контейнера." Решение проблемы - добавление в конец команды tail -f/dev/null
@@АлександрРезов-ь3ф В документации написано hub.docker.com/_/postgres , что запускать нужно docker run --name pg -e POSTGRES_PASSWORD=password -d postgres Только вот не указано, что это обязательные параметры, без которых работать не будет. :)
Почему когда я запускаю команду например docker start pg оно у меня сразу выходит, а когда docker stop pg оно ждет несколько секунд и только потом выходит. Если кратко, то оно работает наоботрот!! Почему так происходит?
Минута примерно 19:15 про exec. Не получается выполнить даную команду так как эта команда требует что-бы контейнер был уже запущен. Я пишу docker start abc, но оно не запускается. Следственно команд exec тоже!!! В чем проблема?
только на этой неделе рассказывали на работе лекцию про Докер. Не сказать, что я не понял основные принципы, но хотелось бы реально увидеть, как все это работает. А то пока мои знания на уровне "не учил, но читал". Спасибо за урок)
Привет! Очень понравился урок! Он точно лучший из всего, что есть на TH-cam. У меня есть вопрос о хранении данных в БД. Предположим я развернула контейнер с pg и поработала с БД. После его остановки, данные сохраняться в контейнере? Что будет с данными, если мне нужно развернуть несколько идентичных версий БД, но там должны храниться разные данные?
Давно уже смотрю твой канал. Ну почему же виртуализация... ай-яй-яй! Докер - это контейнеризация. Эта концепция чем-то схожа с виртуализацией, но только внешне. Внутри это разные вещи. Видео как базовое для новичков в самый раз, но название режет глаз) upd. Видео пересмотрел еще раз, да ты вроде и говоришь про контейнеризацию, но довольно вскользь
Контейнеризация - метод виртуализации ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F Посему она не "чем-то схожа с виртуализацией", а является ею.
Как не крути, это все виртуализация. Вскользь - я не официальная страница документации, как ни крути)) Цель моих видео - дать вектор изучения новичку, который не знает как поступиться :)
Андрей, как всегда четко и по делу. А что еще планируешь по Docker-у? Хотелось бы увидеть формирование контейнера. Например засунуть в один контейнер *nix + DB + запущенный "свитер", который можно перетащить можно куда то и пускать сразу.
@@letsCodeDru Андрей, ты ж контент для программистов делаешь... Как там было "Купи десяток яиц, а если не будет, то колбасы." :))) 1 of 10 писать надо :)))
Добрый день, автор и коллеги! Все понятно, все супер, очень доходчиво... кроме последнего пункта - там, где подключаемся к postgres базам данных. Я ввожу команды, как в ролике: docker run -d --name pgi -p 5432:5432 postgres все нормально, контейнер стартует. Далее, следуя инструкциям в ролике ввожу: sudo -u postgres psql -h localhost и убунта мне выдает: sudo: unknown user: postgres sudo: unable to initialize policy plugin что я делаю не так? Заранее спасибо?
Подскажите по таймингу 24:32 - в данном случае файлы с локальной машины (/home/dru/dev) копируются в контейнер и доступны по пути /home/new_dru относительно данного контейнера, либо файлы с локальной машины "расшариваются" с данным контейнером, и из данного контейнера, по ссылке /home/new_dru относительного данного конейнера, доступны файлы, которые по факту находятся на локальной машине в /home/dru/dev?
Не очень понятно следующее: при удаление показали список "промежуточных слоев" (12:31), указав при этом, что в этих прослойках содержатся данные контейнеров. Так? Но далее говорите, что эти данные (прослойки) живут покуда живы сами контейнеры, однако Вы выше удаляйте контейнеры, но откуда тогда после их удаления остались прослойки, ведь они тоже должны были удалиться??
Не понял, что с security в этом Docker?
Под каким пользователем, например, запускается bash в образе Ubuntu, с какими правами?
Всегда root. Забыл об этом упомянуть. Там проблема безопасности стоит в другом ключе. Снаружи доступа к внутреннему устройству контейнера нет, как и у контейнера нет доступа к хосту. За счёт этого безопасность не страдает. Любой урон останется в контейнере
@@letsCodeDru
Некоторый софт в Линуксе не даёт root`у право доступа, как ни странно (сейчас навскидку не вспомню точно какой), как быть?..
@@victormog не. Тут контейнеры построены так, что все, что должно работать - работает. Вообще не парься :) если найдёшь конкретный пример - кидай, рассмотрим
@@letsCodeDru
Ну, идеально было бы конкретный пример *тебе* показать! ;-)
Но я так понял, что ещё будет такое видео, так?..
У меня нет примера, когда что-то не запускается под root.
Я покажу дальше конкретные примеры, как использую докер в своей работе
Я просто охереваю: каналы с околоайтишными звездоболами собирают по 30, 60, 100к подписчиков. Здесь же мужик наводит реальную движуху, делает действительно полезный, качественный контент - даже десятки нет.
Так из всех выпускников IT-курсов остаются в деле всего порядка 10%.
@@cover-band6035 откуда такие цифры?
Околоайтишные звездоболы для таких же контент и дают, а для околоайтишных звездоболов IT темы бесполезны и рвут их моск.
не все любят "сложна"
он зачем дает очень быстро и без объяснения деталей. Как программист он крут, как педагог - около нуля.
Гениально!!!!!!!! Наконец-то вкурил Docker!!!!!! За 2 вечера видео проработал и теперь могу начить других! Спасибо!
Если у вас так же как у меня команда "docker run -d --name pg postgres" не стартовала контейнер в фоне, смотрите логи этого контейнера. Конкретно у меня ругалось что нужно указать superuser password для базы и тд. Но если что автору большое спасибо! После того как прошелся по различным туториалам ничего не понял и только тут все как в 1 классе очень просто про сложные вещи, браво!
классно супер !!!!! прям балдею от падачи информации ! все кратко сжато , нет "воды" !!!!
Мастер в деле!! Спасибо!!
Годные видео!
Без воды, без запинок, без остановок на совсем уж очевидных вещах. Только полезное и нужное.
Если кому интересно, mysql образ можно создать (+ запустить) так:
docker run -p 3307:3306 --name dev-mysql -e MYSQL_ROOT_PASSWORD=123 -d mysql
Просто у меня почему-то глючила команда, когда я например пытался порты поставить в конец этой команды с ключом -p. Или MYSQL_ROOT_PASSWORD если в конец ставишь, то он его тоже не чувствует.
Ну и подключение
sudo mysql -u root -h 0.0.0.0 -P 3307 -p
P.S. ставил на другой порт, так как лень было гуглить, как его освободить.
UPD: service mysql stop и можно пробрасывать порт 3306
Это одни из самых полезных 25:33 минут моей жизни) Спасибо большое :)
Единственное видео, в котором понятно объясняется докер. Большое спасибо!
лучшей подачи материала я ещё не встречал,
огромная благодарность!
Ништяк! Мужик!! Базовые вкусности лучше чем где-либо показаны, дальше можно особо не вникать сразу, и делать красиво уже из этого.
Работать можно с этим. Мне для локалхоста пригодится капец как, долго обходил тему не видел толковой инфы, а тут бац! И все понятно, и многие темы наперед открыты, а главное можно работать без выкручивания гениталий.
Имхо это лучший урок по началу изучения докера на русскоязычном ютубе
Отлично рассказываешь, сразу уловил суть! Никак руки не доходили до изучения темы контейнеризации, всё обходился виртуальными окружениями, но благодаря твоему дару объяснять свет начинает проливаться!
Спасибо вам огромное.
Чем больше узнаю докер, тем больше понимаю, чего я до сих пор терял.
видео очень полезное, все доступно и понять, спасибо
Отличное видео, понятно, доходчиво, лаконично. Я долго искал внятное объяснение Docker, очень благодарен автору!!!
Docker мастера боится
Целый день смотрел твои видосы. Теперь каждому видео лайк автоматом от меня
Ты лучший на ютубе по программированию вообще, продолжай, ждем новых видосов по актуальным инструментам
В понедельник диплом по этой теме защищаю, спасибо большое !
Ну че, сдал? Какая оценка? Докер то юзаешь, или как сдал диплом - не запускал ни разу?)
У кого будет проблема подключения к postgres на 23:09 - Необходимо дополнительно установить пакет postgresql-client, сама команда будет выглядеть следующим образом - "sudo psql -U postgres -h localhost"
Браво!!! Все четко, лаконично, полезно.... Как же иногда не хватает таких вот объяснений со стороны более опытных товарищей в жизни на конкретно заданные вопросы...
Хороший понятный видос. качественный.
Дай Бог здоровья автору. Среди кучи нудного и усложненного материала должен был наконец появиться настоящий бриллиант, который просто расскажет об очень важных вещах.
Спасибо что радуете своими качественными видео. Супер!
Спасибо !
очень хороший формат видео !
Видос пушка, смотриться интересно и легко, спасобо огромное!!!
Очень доступно и исчерпывающе. Спасибо автору
Omg я дождался докер на этом канале!
Отлично видео. Самое понятное обьяснение основ докера имхо. Спасибо!
*Очень просто и понятно объяснил, мне сразу всё стало понятно. Большое спасибо тебе за труды, реально помог сэкономить кучу нервов и времени!*
Отличная подача! Довольно коротко и понятно. Продолжай так же вырезать лишние движения (не влияющие на суть) это здорово экономит зрителям время.
Аааааагонь!
Все по делу, быстро и понятно!
Огромное спасибо!
Спасибо огромное за видео! в куче ютуб мусора тяжело было отыскать это видео с грамотными примерами и объяснением предназначения докера.
Отличный урок ) Все понятно и информативно.
Спасибо
какой же ты замечательный человек.
Отличное видео, без воды, коротко и по делу. 5+
Крайне доступно и информативно. Спасибо!
Сверх информативно! Спасибо!
Один из лучших уроков по теме!
Супер! Спасибо. Хорошо рассказал
Отличная работа, спасибо за ваш труд :)
Спасибо за полезный туториал по docker
спасибо, полезное видео
Как всегда кратко и очень информативно. Часто переслушиваю твои стримы на фоне, очень приятный голос )
Мощно! спасибо!
Здорово! единственное под убунтой не удалось к постгресу подключиться, как на 23:03. контейнер запущен а команда
~$ sudo -u postgres psql -h localhost
выдает
sudo: неизвестный пользователь: postgres
если меняю имя пользователя на моего текущего - не понимает остальные команды. или у меня на локальной должен быть установлен и запущен postgres чтобы это срабатывало?
PS: с работой в терминале знаком слабо, возможно отсюда непонимание, но поиск по ключам вообще ничего не дал.
Да, это я лопух. Клиента постгрес надо отдельно устанавливать локально
@@letsCodeDru а если не устанавливать локально, можно ли обратиться через пользователя в контейнере?
Чётенько! Спасибо!
Очень классно объяснил, просто и понятно, спасибо за материал!
Это очень круто!
Редко пишу комментарии но у тебя талант понятным языком объяснять, столько красивых превьюшек везде и смонтированно местами лучше, но объясняют ужасно, спасибо!
Как всегда все на высоте! Аннотация по тайм-кодам топ!
Потрясающе! Очень понятно
Посмотрел три четыре видоса про Docker из серии нихуя не понял но очень интересно. Этот видос за первые 10 минут открыл для меня все что нужно.
Спасибо! Как всегда шикарный урок!!!
Ух ты! Это же прям то, что нужно!
Команда docker run -d --name pg postgres скачивает образ, но контейнер не запускает.
Полазив по интернету наткнулся на ответ:
"Однако есть проблема с -d. Ваш контейнер немедленно останавливается, если команды не выполняются на переднем плане.
Docker требует, чтобы ваша команда продолжала работать на переднем плане. В противном случае он считает, что ваши приложения останавливаются и завершают работу контейнера."
Решение проблемы - добавление в конец команды tail -f/dev/null
Спасибо, братишка выручил, а то я уже расстроился
только если зайти в контейнер docker exec -it pgi bash и ввести top то там postgres не будет запущен(
@@АлександрРезов-ь3ф В документации написано hub.docker.com/_/postgres , что запускать нужно docker run --name pg -e POSTGRES_PASSWORD=password -d postgres
Только вот не указано, что это обязательные параметры, без которых работать не будет. :)
Автор, спасибо большое за ролик!!! Все понятно, всё по полочкам разложил!!!
Почему когда я запускаю команду например docker start pg оно у меня сразу выходит, а когда docker stop pg оно ждет несколько секунд и только потом выходит. Если кратко, то оно работает наоботрот!! Почему так происходит?
Жаль, что нельзя поставить второй лайк - первый я поставил при первом просмотре, а вот сейчас смотрю уже по работе... Спасибо за видео!!!
Благодарю. Ещё быть так научиться думать в пределах нескольких контейнеров одновременно и понимать что, где и как)
Минута примерно 19:15 про exec. Не получается выполнить даную команду так как эта команда требует что-бы контейнер был уже запущен. Я пишу docker start abc, но оно не запускается. Следственно команд exec тоже!!! В чем проблема?
если разобрался, скажи почему контейнер падает сразу после старта плз
очень дохочиво и по делу
Очень круто и доходчиво все объясняешь лайк !
большое спасибо за проделанную работу!!!
реальная годнота!
Это мне все не нужно. Но смотрел с интересом. Очень дельно.
ДА!!! Прямо вот очень актуально :)
Просто класс.
Очень хорошо разъяснил. Однозначно лайк!!
Спасибо!
Здравствуйте. Подскажите пожалуйста, на 3:27 откуда появляется вот этот черный экран? Что открывать? Куда вы пишете команды?
только на этой неделе рассказывали на работе лекцию про Докер. Не сказать, что я не понял основные принципы, но хотелось бы реально увидеть, как все это работает. А то пока мои знания на уровне "не учил, но читал". Спасибо за урок)
Да докер достаточно прост по сути своей. Ну а "глубокое" понимание его - это понимание работы cgroups в линукс
Ребят Хелп не получается запустить постгрес
sudo -u postgres psql -h localhost
sudo: unknown user: postgres
sudo: unable to initialize policy plugin
нашел решение?
Привет! Очень понравился урок! Он точно лучший из всего, что есть на TH-cam.
У меня есть вопрос о хранении данных в БД. Предположим я развернула контейнер с pg и поработала с БД. После его остановки, данные сохраняться в контейнере? Что будет с данными, если мне нужно развернуть несколько идентичных версий БД, но там должны храниться разные данные?
Это же топчага годнотная!!!
Спасибоо за офигенный урок!!!
Очень круто спасибо
Спасибо, Андрей. Как всегда полезно))
Класс!
Давно уже смотрю твой канал.
Ну почему же виртуализация... ай-яй-яй!
Докер - это контейнеризация. Эта концепция чем-то схожа с виртуализацией, но только внешне. Внутри это разные вещи.
Видео как базовое для новичков в самый раз, но название режет глаз)
upd.
Видео пересмотрел еще раз, да ты вроде и говоришь про контейнеризацию, но довольно вскользь
Контейнеризация - метод виртуализации
ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F
Посему она не "чем-то схожа с виртуализацией", а является ею.
Как не крути, это все виртуализация. Вскользь - я не официальная страница документации, как ни крути))
Цель моих видео - дать вектор изучения новичку, который не знает как поступиться :)
Увидел как этот господин виртуозно бахнул контейнер, пока другие два курили в сторонке, и сразу подписался
Андрей, как всегда четко и по делу.
А что еще планируешь по Docker-у? Хотелось бы увидеть формирование контейнера. Например засунуть в один контейнер *nix + DB + запущенный "свитер", который можно перетащить можно куда то и пускать сразу.
Циферку "раз" видишь на превьюшке? 😁 Будет ещё по докеру
@@letsCodeDru Андрей, ты ж контент для программистов делаешь... Как там было "Купи десяток яиц, а если не будет, то колбасы." :))) 1 of 10 писать надо :)))
@@alexeysharandin7364 каждый мой видос - квест. Решайте))
ахренеть, прям настолько просто, что даже думать не надо....
Спасибо за труд, рекомендую!
Спасибо, очень познавательно.
на 22:10
docker run --name pg11 -p 5433:5432 -e POSTGRES_PASSWORD=password -d postgres
sudo -u postgres psql -h 0.0.0.0 -p 5433
может кому пригодиться
sudo: неизвестный пользователь:postgres>>>>>>> не удается инициализировать модуль политики
спасибоооооо чувак
Отличное видео! спасибо
Добрый день, автор и коллеги! Все понятно, все супер, очень доходчиво... кроме последнего пункта - там, где подключаемся к postgres базам данных.
Я ввожу команды, как в ролике:
docker run -d --name pgi -p 5432:5432 postgres
все нормально, контейнер стартует.
Далее, следуя инструкциям в ролике ввожу:
sudo -u postgres psql -h localhost
и убунта мне выдает:
sudo: unknown user: postgres
sudo: unable to initialize policy plugin
что я делаю не так?
Заранее спасибо?
у вас не установлен postgres на убунте
Подскажите по таймингу 24:32 - в данном случае файлы с локальной машины (/home/dru/dev) копируются в контейнер и доступны по пути /home/new_dru относительно данного контейнера, либо файлы с локальной машины "расшариваются" с данным контейнером, и из данного контейнера, по ссылке /home/new_dru относительного данного конейнера, доступны файлы, которые по факту находятся на локальной машине в /home/dru/dev?
расшариваются
спасибо
А что-то вроде ctop на windows можно поставить?
cпасибо, очень доходчиво и толково! не знаю обратил ли кто-то внимание на оговорку слипи трэп :))
После выполнения комманды "docker run -d --name pg postgres" этот котейнер имеет статус "Exited (1)". Не понимаю почему.
Документация к postgres на сайте докера - "$ docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres".
Спасибо, ты просто красавчик
спасибо, все классно.ждем продолжение...
Спасибо за ролик!)
Появилось в рекомендациях ютуба, думал про дома из контейнеров что-то будет, нихуя не понял, но очень интересно.
Не очень понятно следующее: при удаление показали список "промежуточных слоев" (12:31), указав при этом, что в этих прослойках содержатся данные контейнеров. Так?
Но далее говорите, что эти данные (прослойки) живут покуда живы сами контейнеры, однако Вы выше удаляйте контейнеры, но откуда тогда после их удаления остались прослойки, ведь они тоже должны были удалиться??