Что такое Docker? Сегодня можно встретить много объяснений этого термина. Я хотел рассказать свое понимание этого термина, возможно это будет полезно.

Docker - это простая программа, которую вы можете установить в свою операционную систему. Docker работает на Windows, Mac, Linux. 

Официальный сайт docker:

https://www.docker.com

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

Все это будет работать независимо от той операционной системы, где мы это будет устанавливать.

Docker позволяет создавать так называемые контейнеры, это некие независимые сервисы, которые будут работать в операционной системе и выполнять ряд действий. 

Под окружением я понимаю операционную систему, в которой у нас это все будет запускаться + языки программирования + база данных + веб-сервер.

Каждый из этих элементов может как присутствовать в окружении, так и отсутствовать. Все будет зависеть от того, как мы его соберем.

Docker можно представить в виде программы программ. Программа, которая объединяет в себе другие программы. 

В принципе, весь набор нужных программ мы можем установить в нашу операционную систему вручную. Но, при таком подходе мы теряем гибкость. Будет сложно потестировать разные версии программ в одной операционной системе. Некоторые программы могут не работать в каких-то операционных системах и с этим будут трудности.

Docker позволяет нам не заниматься какими-то сложными системными настройками. Все, что нужно сделать, в специальных текстовых файлах описать, что нужно поставить.

Запустив этот текстовый файл с командами из командной строки, мы получим готовое окружение, которое можно будет использовать. И все это будет независимо от программ, которые установлены в нашей операционной системе.

Из практики, на настройку окружения может уходить достаточно много времени. От 1 часа до нескольких часов. С помощью Docker это можно сделать с минимальными усилиями и временем.

Все модули и приложения, которые мы можем устанавливать, хранятся на специальном сайте:

https://hub.docker.com

На нем можно найти различные программы, которые мы можем устанавливать с помощью Docker. 

Альтернатива Docker - виртуальные машины, но в отличии от них Docker быстрее, занимает меньше дискового места, памяти и процессора. Все легко удалять и изменять.

Вот такой интересный и полезный инструмент, который может значительно упростить вам вашу работу.