Docker и контейнеры - проще некуда

  Рет қаралды 7,392

Програмысли Влог

Програмысли Влог

Күн бұрын

Поддержать меня: boosty.to/mflenov
В этом видео мы поговорим о докере и контейнерах. Я постараюсь рассказать о них проще некуда и надеюсь, что у меня это получиться сделать в самом простом стиле.
Я не буду вас обманывать и говорить, что контейнеры - это очень просто, потому что в реальности это не совсем так. Я постараюсь рассказать все максимально просто и надеюсь, что у меня получиться проще некуда.
Текстовая версия видео здесь:
www.flenov.info/story/show/Ko...
Содержание:
00:00 - Введение в docker
10:02 - Установка
11:25 - Создаем PHP приложение для теста
12:31 - Что такое образ докера?
13:13 - Что такое Dockerfile
13:34 - Создаем Dockerfile
18:44 - Собираем образ докера
20:38 - Работа с образами докера
23:30 - Запуск докера
28:15 - Именованные контейнеры
29:04 - Удаление контейнеров
30:28 - Удаление образов
32:22 - Создаем Python приложение
34:13 - Создаем контейнер для Python приложения
Мой ИТ блог www.flenov.ru и www.flenov.info
Мой просто блог blo.moe
Tweeter: / flenov
Инстаграмм: / mflenov
Телеграмм: t.me/mflenov
Apple подкасты: podcasts.apple.com/ca/podcast...
Spotify подкасты: open.spotify.com/show/4mYuXa2...

Пікірлер: 53
@user-jb7xp6ms3j
@user-jb7xp6ms3j 3 жыл бұрын
Посмотрел, лайкнул, откомментировал, перешел в режим ожидания продолжения
@user-uq3fz2qc9b
@user-uq3fz2qc9b 3 жыл бұрын
Лайкнул, не глядя. Занят просмотром. В ожидании продолжения))) Отличные скринкасты, спасибо большое
@komron100
@komron100 3 жыл бұрын
Только начал искать инфу про Docker - и тут видос) спасибо, доступное объяснение)
@YaroslavOliinyk2023
@YaroslavOliinyk2023 3 жыл бұрын
Обожаю Ваши видео! Рад что нашёл Ваш канал
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Спасибо
@impnumb5713
@impnumb5713 3 жыл бұрын
спасибо
@maflend2762
@maflend2762 Жыл бұрын
Спасибо. Видео понравилось
@sapperus
@sapperus 3 жыл бұрын
Спасибо!
@andreygazhala7577
@andreygazhala7577 3 жыл бұрын
Спасибо
@user-nc6vb7bu2h
@user-nc6vb7bu2h 3 жыл бұрын
Красава Мишаня!
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Спасибо, я старался
@forstudy9535
@forstudy9535 3 жыл бұрын
Как же круто поясняете. Ех был бы еще Гайд "проще некуда" по Кибернетису)
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Спасибо, о кубере тоже думал, возможно, просто времени нет.
@Tm-oq1uc
@Tm-oq1uc 2 жыл бұрын
Эх, кубернетис бы)))))
@Tm-oq1uc
@Tm-oq1uc 2 жыл бұрын
Спасибо вам
@rubyalban
@rubyalban 3 жыл бұрын
Отличный видос. Docker compose будет?
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Столько всего хочется, время бы найти на это
@rubyalban
@rubyalban 3 жыл бұрын
@@Dev-lessons Ахаха ))
@user-of4dc3rh5c
@user-of4dc3rh5c 2 жыл бұрын
Спасибо, очень хороший урок! Хотелось бы увидеть урок исходя из Вашего опыта о локальном окружении программиста, в разрезе работы над одним проектом, или же над многими одновременно (к примеру много компаний на поддержке держат много проектов и программисту приходится переключаться между ними). То есть отдельная установка компонентов (PHP, Apache ...), либо же использование сборок, или виртуальных машин, али использование докер контейнеров и прочее.
@Dev-lessons
@Dev-lessons 2 жыл бұрын
Именно с точки зрения разработки разные окружения - я как-то с таким не сталкивался. Деккер - можно было бы, но его собирать каждый раз не быстрое занятие, да и отлаживать потом в окружении будет насовсем удобно. Виртуальная машина... она стартует долго. Даже не знаю, что тут сказать, потому что локально программисту все же придется конфигурировать напрямую, без окружений, да и не могу представить себе случая, когда бы понадобилось именно докеры или виртуалки использовать.
@user-of4dc3rh5c
@user-of4dc3rh5c 2 жыл бұрын
@@Dev-lessons Понял спасибо. Просто много кто сидит именно на сборках типо Openserver, Xamp и подобные , некоторые отдельно устанавливают компоненты. Но наверное тут больше дело привычки и удобства. :)
@damjenmetis4090
@damjenmetis4090 3 жыл бұрын
Ничо ни понимаю но смотрю, наверно мне очень интересно)
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Попробуй повторять все действия, чтобы ощутить своими руками результат
@damjenmetis4090
@damjenmetis4090 3 жыл бұрын
@@Dev-lessons Верю. Но для начала нужно понять что такое PHP7 ))). Мне наверно рано в такие темы вникать. Я на уровне - почему написан мною CSS в HTML документе Chrome читает, а Link......CSS не читает)))))
@Dev-lessons
@Dev-lessons 3 жыл бұрын
@@damjenmetis4090 Ну тогда да
@IgorGallemar
@IgorGallemar 3 жыл бұрын
Первый!!!!
@Hello_there_777
@Hello_there_777 3 жыл бұрын
когда 2 часть? надеюсь рассмотрите вариант использования динамически монтируемых исходников через volumes и чем этот вариант лучше\хуже\безопасней\опасней чем каждый раз создавать копию образа с отличающимися исходиками
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Когда... пока не знаю точно, скорей всего через неделю. На эту неделю в плане еще Symfony очередное видео записать и на следующее у меня очередное git. Может сделаю наоборот - сначала git, потом symfony
@evgenasd8892
@evgenasd8892 3 жыл бұрын
Спасибо что про git помните, жду продолжения, начал вести комиты по всем модификациям по, но хочется узнать, достаточно ли язнаю про гит чтобы полноценно им пользоваться, конечно есть документация, но сначала нужно узнать его возможности, чтобы знать про что искать информацию.
@Dev-lessons
@Dev-lessons 3 жыл бұрын
@@evgenasd8892 Следующее видео про git будет в ближайшие пару дней
@evgenasd8892
@evgenasd8892 3 жыл бұрын
@@Dev-lessons Благодарю, класно что успеваете и видео записывать и проекты сдавать, и еще семья. Мне часто не хватает времени на изучение, но все равно нужно развиваться. К примеру с гитом когда узнал что теперь не придется делать архивную копию проекта перед каждым изменением, я обрадовался. Когда узнал что можно написать приложением в таком стиле что изменения одной части, очень мало или совсем не затронут изменения в других ее частях тогда я вопще прозрел, Да трудно переучивать себя с процедурного подхода( около 8 лет) на обьектный, но столько плюсов от этого перекрывают всю тяжесть изменения мышления в обьектном стиле, а тут про докер от вас узнал, а мы с переменными окружения игрались устанавливая батники на машину, спасибо!
@daniilthegunner843
@daniilthegunner843 3 жыл бұрын
круто! Вопрос не по теме. А вот ваш сайт с текстовой версией. Там есть админка какая-то,в которой весь этот текст сохранен и выводится на сайт? Или по-другому как-то реализовано. Просто интересно какие технологии в этом сайте
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Мой сайт. Админка есть самописная. Там все написано самостоятельно, примерно подход я описал в видеоуроках по Symfony.
@dosxanzada
@dosxanzada 3 жыл бұрын
После просмотра можно ли указать на резюме навыки Docker? 😀
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Рано еще, нужно попрактиковаться и увидеть еще хотя бы следующее видео
@komron100
@komron100 3 жыл бұрын
Не оконца понимаю еще, например человек собрал образ на linux и скинул мне - могу ли я запустить его на windows или macOS?
@Dev-lessons
@Dev-lessons 3 жыл бұрын
В Windows он скорей всего запуститься на подсистеме WSL, это я не проверял. Если ты засучишь в контейнер бинарник, который собран для Windows, то под Linux он не запустится.
@komron100
@komron100 3 жыл бұрын
@@Dev-lessons понял, спасибо)
@Hello_there_777
@Hello_there_777 3 жыл бұрын
В windows даже без wsl работает докер.но использование wsl 2 дает прирост скорости при обращении к диску. Хотя кто будет использовать 10к для хостинга докера - вопрос риторический. При использовании windows предоставляется возможность использования или windows или linux контейнеров. Использование 2х типов контейнеров пока что невозможно.
@borisoffdenis
@borisoffdenis 3 жыл бұрын
не совсем понял, что такое отработанный контейнер? это типа image, только который может изменить состояние? может извлечь из него обработанные данные (из БД напр)?
@Dev-lessons
@Dev-lessons 3 жыл бұрын
В каком контексте я это говорил? Скорей всего ов качестве отработанного я имел ввиду - когда указанная нами программа завершила работать. Мой простой пример просто отображает строку и завершает работу, так что контейнер выполнил программу и все, больше уже ничего не делает, отработал. В случае с такими вещами как Web сервер, он постоянно работает и обрабатывает запросы. Контейнер будет существовать, пока Web сервер живет и работает. После этого он завершит работу и перейдет в состояние остановлен.
@Dev-lessons
@Dev-lessons 3 жыл бұрын
НА счет вытаскивания данных - контейнеры создавались специально, чтобы не вытаскивать из них данные. В следующем видео я говорю, о подключаемых дисках и именно на них должны сохраняться данные, которые ты теоретически можешь потом увидеть
@borisoffdenis
@borisoffdenis 3 жыл бұрын
@@Dev-lessons спасибо большое за пояснения. Я не говорил, что это ваша фраза "отработанный") просто это я так понял. Чтоб после его работы появилась какая-то сущность, файл) буду дальше разбираться, у меня кстати под виндой на wsl 1 не получилось поставить докер) пришлось на виртуалке Линукс поставить
@azizkudaikulov993
@azizkudaikulov993 3 жыл бұрын
Отличный урок! Только не совсем понял, как образ размером 880 мб запустился так быстро?
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Потому что не нужно было стартовать ОС. Она уже работает - это основная ОС на твоем компьютере. Ты только стартуешь Web сервер, базу данных и это делается очень даже быстро. Если говорить о первом примере, где образ от PHP или от Perl, то там вообще ничего не страховалось как таковое, просто мой скрипт передался интерпретатору PHP и тот выполнился.
@azizkudaikulov993
@azizkudaikulov993 3 жыл бұрын
Спасибо, понял, но тогда что там внутри 880 мб? Неужели там все мыслимые и не мыслимые библиотеки вместе с питон?!
@Dev-lessons
@Dev-lessons 3 жыл бұрын
@@azizkudaikulov993 Конечно не все. В Архиве Python занимает 40 мегабайт. Помимо этого точно знаю, что ставиться pip, через который ты можешь добавить нужные зависимости. Без архива это может быть до 200 мегабайт. Что остальные 600, если честно, я сам не интересовался, нужно посмотреть.
@user-jb7xp6ms3j
@user-jb7xp6ms3j 3 жыл бұрын
А может в эти 800 мегабайт входит и ОС?
@Dev-lessons
@Dev-lessons 3 жыл бұрын
дистрибутив там 100% есть. Там как минимум есть какой-то Linux дистр+Python+PIP. Надо посмотреть на основе какого дистрибутива строится именно этот контейнер, если на основе Ubuntu? то не удивительно, что он такой большой. Дистрибутив нужен даже не смотря на то, что он не запускается, как это происходит в случае с VM. Нужна своя изолированная папка etc, журналы и т.д. Когда вызывается команда ОС, то она вызывается из докера, а не из ОС...
@TheHardPotter
@TheHardPotter 3 жыл бұрын
А почему не с net core, а с php?
@Dev-lessons
@Dev-lessons 3 жыл бұрын
Ну не знаю, приложение проще
Удаленный GIT, слияния и конфликты проще некуда
38:50
Програмысли Влог
Рет қаралды 8 М.
3M❤️ #thankyou #shorts
00:16
ウエスP -Mr Uekusa- Wes-P
Рет қаралды 15 МЛН
THE POLICE TAKES ME! feat @PANDAGIRLOFFICIAL #shorts
00:31
PANDA BOI
Рет қаралды 25 МЛН
Учимся работать с GIT - проще некуда
33:15
Програмысли Влог
Рет қаралды 21 М.
Docker Для Начинающих за 1 Час | Docker с Нуля
52:43
ДевЛог S3E15 - 8 лет работы уходят в небытие
10:59
Програмысли Влог
Рет қаралды 2 М.
GIT для продвинутых - Часть 1
27:13
Програмысли Влог
Рет қаралды 4,2 М.