Есть два базовых понятия, с которыми желательно познакомиться, прежде чем начинать изучать Docker. Это такие понятия как контейнеры и образы.

По сути, когда мы с вами будем работать с Docker, мы будем работать с контейнерами и образами. 

Давайте разбираться, что это значит.

Что такое образ docker

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

Чем-то это напоминает CD-диск. Т.е. некое хранилище, куда записали какой-то набор программ или одну программу. Этот образ мы можем смонтировать, установить куда-то и начать пользоваться этими программами. 

Пример образа из нескольких программ может быть образ популярной CMS системы Wordpress, который может включать сборку из следующих программ:

Wordpress = Linux + PHP + Apache + сами_файлы_wordpress

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

Все образы, которые мы можем скачать и начать использовать, они находятся в центральном репозитории, который называется docker hub. 

Образы, которые мы можем скачать с docker hub сами по себе работать не будут. Для того, чтобы они начали работать, их нужно установить в какую-то систему. Такой системой в docker, где бы это все работало, являются контейнеры.

Что такое контейнеры docker

Контейнеры - это некие изолированные среды, в которых будут работать образы. Контейнеры работают внутри операционной системы. Это мини программы (службы).

Технически, контейнеры являются мини операционными системами Linux. В этих системах нет всех возможностей ОС Linux, но весь базовый функционал для запуска установленных образов там имеется.

Контейнера можно устанавливать, запускать, останавливать и удалять. 

К контейнеру можно обратиться с помощью командной строки, посмотреть его файловую систему и поуправлять им. См. видео, чтобы увидеть, как это можно сделать.

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

Для того, чтобы сохранить все наработки при удалении контейнера в Docker есть специальный механизм томов (Volume), но об этом подробнее далее.

Итого

Docker - это программа, которая запускается в нашей операционной системе (Windows, Mac, Linux). И в этой операционной системе будут работать так называемые контейнеры. Внутри контейнеров будут работать образы. 

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

Вот такое вводное знакомство с Docker. Давайте теперь на практике посмотрим, как можно работать с контейнерами и образами и как все это будет взаимодействовать.