Хост Dockerhost — это компьютер с поддерживаемой архитектурой, на который устанавливается ПО для работы с контейнерам. Хост должен экспозить API, хоть куда-нибудь. •Компьютер •Сервер •Виртуальная машина •Одноплатный компьютер •Телефон •Кофеварка
Образы Образы — это слоеный пирог из изменений, которые аффектят файловую систему. Дамп, из которого запускается контейнер. Похоже на Git- репозиторий.
Контейнеры Контейнер — «изолированная» среда исполнения программного кода со своей копией файловой системы. Контейнер рождается из образа. Один контейнер — один процесс. Контейнер можно запустить, приостановить или убить. А еще можно настраивать: •пробросить порты •указать переменные окружения •замонтировать файлы с хоста •засунуть в какую-нибудь подсеть •заставить работать в интерактивном режиме
Тома Тома — это специальные выделенные места в файловой системе. Им можно дать название. А потом примонтировать в контейнеру. Или сразу к десятку контейнеров. Что-то типа общего буфера обмена.
Dockerfile Dockerfile — это сценарий, по которому собирается образ контейнера. Например: 1.взять Ubuntu Linux 2.сделать apt-get update 3.установить Python 4.выполнить команду pip install -r requirements 5.засунуть в контейнер содержимое хостовой директории ~/dev/ app так, чтобы внутри контейнера она оказалась в /srv/app/ 6.прокинуть 8080 наружу 7.запустить ~/src/app/python ./manage.py runserver 0.0.0.0:8080
Как запустить контейнер docker run <параметры> <тома> <порты> <образ> <команда> Огромный список параметров для запуска контейнеров можно найти здесь: https://docs.docker.com/engine/reference/run/
docker-compose Docker-compose — это система орекестрации контейнерной инфраструктуры. Другими словами, тулза, которая поднимет тебе сразу много контейнеров с описанным параметрами по заданному сценарии. Ей нужно передать docker-compose.yml. В `yml`-файле можно передать все то же, что и в командной строке запуска единичного docker-контейнера.
А где взять compose-файлы? Почти для всех проектов в Сети существуют или dockerfile или даже целые docker-compose.yml, которые воспроизводят рефренсную инфраструктуру для нужной программы. А еще можно написать самому. Это ужасно просто: https://docs.docker.com/compose/compose-file/
Драйверы docker-machine machine позволяет создать, удалить, логиниться по SSH и удобно переключаться между машинами (докерхостами прямо из одного терминала). К примеру, можно сделать докер-машину из: •Amazon/Digitalocean—инстанса •Любой VPS’ки •Виртуальной машины в Virtualbox
Драйверы docker-machine Драйверов очень много. Их выпускают компании. Пишут энтузиасты. Если хостер поддерживает API для виртуалок, можно написать драйвер. Особый — generic.