Что такое Docker и зачем он нужен?

С помощью докер можно запускать любые приложения реализованные любыми технологиями на любых языках программирования одной и той же командой.

Вот такой:

docker container run -d -p 8081:8080 <путь_к_docker_image>

Ее содержимое разберем позже.

Для того чтобы запустить приложение этой командой его нужно собрать в Docker Image.

Один раз собранное докером приложение в Docker image можно запустить даже на компьютере где не установлены различные необходимые программы, зависимости проекта, языки программирования на которых реализовано приложение.

То есть раньше приложение необходимо было развертывать. Нужно было установить все необходимые технологии для работы приложения.

Example

Например, для запуска spring boot приложения необходимы:

  • jdk
  • maven
  • зависимости прописанные в pom.

Приходилось отдельно скачивать jdk, потом отдельно скачивать maven вместе со spring boot приложением, потом отдельно скачивать зависимости проекта через этот maven. Это и называется развертыванием приложения на компьютере.

Теперь с докером, как мы уже поняли, всё намного проще.

Внутри Docker Image получившимся в результате сборки приложения УЖЕ ЕСТЬ ВСЁ, что нужно для запуска этого приложения и любой человек может запустить приложение очень просто ранее упомянутой командой без муторного его развертывания.

Докер имеет стандартизированный способ сборки проекта.

То есть любые приложения использующие какие-угодно технологии имеют подобный способ сборки и в результате сборки имеют одинаковый итоговый формат.

Также Docker Image можно запускать одинаковым образом где угодно – на компьютере, в облаке или где-либо еще.

Docker Hub: назначение и использование

Как работать с Docker Hub: загрузка образов, репозитории, теги версий. Примеры команд для скачивания и запуска контейнеров из облачного хранилища.
Time to read: 17

Сборка Java приложения в Docker

Упакуйте Spring Boot приложение в Docker: создание Dockerfile, настройка зависимостей, сборка образа и загрузка на Docker Hub. Запуск контейнеров.
Time to read: 20