Главная цель использования Docker - это ускорения на всех этапах разработки.
Благодаря готовым "образам" - вы не тратите время на установку нужного софта, а просто используете готовый функционал.
И на основе них создаете свои проекты и "образы" - далее их можно устанавливать на любую ОС быстро и легко.
Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации. Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть развёрнут на любой ОС.
https://ru.wikipedia.org/wiki/Docker
Архитектура Docker
Образ (image) - запечатанный функционал, который вы можете развернуть и использовать по своему усмотрению. Главное действующее лицо во всем Docker.
Контейнер (container) - готовый работающий образ, который можно запускать в любом количестве. Например, вы можете запустить несколько версий одной БД в разных контейнерах и тестировать свое приложение.
Если коротко, то Docker работает с помощью специальных виртуальных контейнеров на основе ОС Linux. Они запускаются быстрее и занимают меньше места.
Этот подход отличается от стандартных виртуальных машин, как было до этого.
Docker контейнеры ориентированы на одно приложение, поэтому получаются мобильными и легкими (а не на множество приложений, как обычная виртуальная машина).
В хранилище в интернете доступны образы на все случаи жизни и вам не нужно будет "изобретать колесо". Просто берете и используете готовые образы (БД, сервер приложений, чужие проекты и пр.)
Создаете все проекты согласно ТЗ, используя готовые образы Docker.
Создаете свои образы и отдаете их заказчику. Он сможет установить их на любую ОС.
Значит сейчас самое время начать, потому что это уже обязательные знания для любого разработчика. Тем более если один раз разобраться, потом скорость создания проектов у вас сильно увеличится.
Будете экономить себе много времени при разработке и установке приложений.
Как создавать свои образы и использовать готовые наработки для создания разных типов приложений:
- JavaSE
- SpringBoot backend
- Angular frontend
- PostgreSQL
- Spring Cloud микросервисы
Основные возможности виртуализации, внутренние механизмы, термины и операции
Все основные операции Docker будете выполнять через консольные команды
Работа с главными объектами Docker: скачивание, создание, настройка
Визуальный инструмент для новичков, чтобы начать работать с Docker
Как строится образ из разных слоев, создание инструкций и просмотр системных слоев
Как правильно работать с БД и не потерять данные в любом приложении
Использование готового образа БД для своих целей разработки, обращение через pgAdmin
При разработке всегда требуется смотреть логи контейнеров и самого Docker
Запуск и настройка сразу нескольких контейнеров с помощью одного файла
Практика - как создавать образы для обычных JavaSE приложений. Это полезно для новичков, чтобы был максимально простой пример
Как создавать свои образы и затем распространять для установки на любые машины
Создание образа приложения, у которого есть зависимости, библиотеки и пр.
Для удобства - можно пользоваться IDEA и его плагином и все будет в одном месте - разработка, работа с Docker
Простой пример для работы с готовым образом для новичков, создание веб файлов и проверка работы в браузере
Важный пункт для правильной коммуникации контейнеров между собой - создание виртуальной сети.
Практика: более сложный пример из нескольких контейнеров, которые взаимодействуют друг с другом
Распространение и доступ к своему образу через центральное хранилище Docker Hub
Лучшие практики и советы при работы с образами и контейнерами Docker
Начинать работать с Docker нужно с самого фундамента и уметь выполнять основные операции: скачивание и запуск образа, разбор его состава и пр.
Это можно делать через командную строку или Docker Desktop.
Чтобы понять фундамент работы с образами - сначала начнем скачивать и использовать - с сайта Docker Hub.
Когда уже научитесь выполнять основные команды - сможете переходить к созданию своих образов.
Самый простой пример для новичков, как создавать свои образы на основе JavaSE приложения с зависимостями (библиотеками).
Не нужно сразу пытаться запустить сложное веб приложение из нескольких узлов, иначе можете запутаться.
Если вы разрабатываете серверные backend приложения, то должны научиться создавать Docker образы на основе SpringBoot приложений с RESTful сервисами.
Вы научитесь создавать свои образы и запускать контейнеры с настройками и зависимостями SpringBoot.
Docker позволяет разделить все узлы Spring Cloud по разным контейнерам и обращаться друг к другу так, как будто они находятся в одной сети.
Микросервис в одном контейнере, Gateway в другом и т.д.
Это очень удобно, особенно если вы публикуете приложение на облако, например Amazon (AWS) - легко и просто можно создать свои образы и разместить в любом онлайн облаке.
Визуальная часть любого JS приложения, которое выполняет запросы в backend и получает оттуда результат.
Angular приложение также может работать в отдельном контейнере и обращаться по виртуальной сети в любые сервисы.
Вы можете запускать у себя на компьютере разные версии одной базы данных в виде контейнеров, сохранять данные себе на компьютер, чтобы не потерять, "шарить" данные между разными БД и т.д.
Это полезно, если вы тестируете работу приложений в разных версиях БД одновременно.
Для создания своих проектов - будете использовать среду разработки IntelliJ IDEA Ultimate Edition (можно версию trial).
Сначала разберем сами проекты и исходные коды по разным типам:
- JavaSE - консольное приложение
- SpringBoot backend
- Angular frontend
- Spring Cloud микросервисы
Будете использовать готовый плагин Docker для IDEA, который упрощает работу с образами и контейнерами.
Все исходные коды и docker образы сможете скачать и попробовать у себя.
Для новичков в начале изучения Docker - лучше использовать визуальный инструмент, который заменяет многие консольные команды.
Чтобы получить базовые знания - вы будете использовать официальное приложение Docker Desktop, которое позволяет выполнять основные операции с образами, контейнерами и пр.
Потом уже когда научитесь - перейдем к консольным командам.
Подробнее о Docker Desktop
Когда вы наберетесь опыта, примерно с середины курса начнете в основном уже пользоваться консольными командами, т.к. это быстрее и эффективнее. Это обязательный навык для любого разработчика.
Docker Desktop будете использовать только для элементарных действий (просмотр образов, контейнеров). Таким образом научитесь работать и с визуальным инструментом и с Docker CLI (command line interface)
Сможете создавать образы на основе своих проектов, отправлять в центральное хранилище Docker Hub, либо просто устанавливать на любую ОС. В этом и есть преимущество Docker.
Для быстро проверки и тестирования приложения - не нужно устанавливать весь софт, а просто сможете запускать готовые образы. Это сильно ускоряет разработку.
Если вы следите за ОС или установленными приложениями - то обязательно должны уметь работать с Docker, выполнять его основные команды.
В этом курсе вы не будете с нуля разрабатывать проекты, потому что основной упор будет идти именно на Docker. Поэтому сами проекты будете получать в готовом виде. Они будут максимально простыми, чтобы вы лучше поняли как создавать свои образы, запускать контейнеры, настраивать сеть и пр.
Эти проекты потом сможете брать за основу - для своих проектов:
JavaSE, SpringBoot backend, Angular frontend, PostgreSQL, Spring Cloud микросервисы
Для того, чтобы начать использовать Docker - у вас должны быть готовые исходные коды либо вашего приложения, либо можно скачать с интернета. Чтобы вы могли "тренироваться" на реальных проектах, а на пустых папках.
Весь смысл как раз в том, чтобы взять готовые "образы" и на их основе создать свои, с нужным функционалом.
Были ученики, которые проходили курс и без знаний разработки. Им чуть сложнее, но все равно, они понимали суть, фундамент.
И начинали изучать программирование уже сразу с применением Docker - это тоже ускоряет обучение, т.к. не нужно вручную устанавливать весь софт.
Сами проекты (Spring, Angular, Cloud) вы с нуля тут разрабатывать не будете, потому что упор будет идти на Docker.
Создание проектов мы проходили в предыдущих курсах комплекта fullstack web.
В этом курсе вы будете использовать уже различные готовые исходники, чтобы на них получить практику Docker.
В принципе после практики сможете уже применять докер для любых типов приложений, т.к. поймете основную суть.
Вопросы можно будет задавать на онлайн вебинарах (участвуют автор и ученики), в специальном разделе форума, комментариях к уроку.
На этот курс - примерно неделя-две
Да, сможете изучать на любом компьютере, независимо от операционной системы. Можно даже смотреть видео на мобильных устройствах, но сам код придется создавать на компьютере/ноутбуке.
Да. Периодически выходят различные дополнения, связанные с решением недочетов или ошибок, обновляется исходный код. Вся информация будет в личном кабинете для каждого урока.
Доступ к материалам и поддержке - неограничен. Можете изучать и возвращаться к урокам в любое время.
Да, особенно если покупаете по акции со скидкой - многие так делают. Изучение курса можете начинать в любое время. Вопросы сможете задавать также в любое время.
5000
рублей
от 10 000
рублей
от 15 000
рублей