ОС • Позволяет гарантировано запускать программы на поддерживаемой платформе • Облегчает управление сложной инфраструктурой • Обеспечивает портабельность софта. Да-да, Metasploit на macOS без боли! НЕ ПАРАВИРТУАЛИЗАЦИЯ НЕ СРЕДСТВО ИЗОЛЯЦИИ
устанавливается ПО для работы с контейнерам. Хост должен экспозить API, хоть куда-нибудь. •Компьютер •Сервер •Виртуальная машина •Одноплатный компьютер •Телефон •Кофеварка
копией файловой системы. Контейнер рождается из образа. Один контейнер — один процесс. Контейнер можно запустить, приостановить или убить. А еще можно настраивать: •пробросить порты •указать переменные окружения •замонтировать файлы с хоста •засунуть в какую-нибудь подсеть •заставить работать в интерактивном режиме
Например: 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-compose.yml. В `yml`-файле можно передать все то же, что и в командной строке запуска единичного docker-контейнера.
существуют или dockerfile или даже целые docker-compose.yml, которые воспроизводят рефренсную инфраструктуру для нужной программы. А еще можно написать самому. Это ужасно просто: https://docs.docker.com/compose/compose-file/
удобно переключаться между машинами (докерхостами прямо из одного терминала). К примеру, можно сделать докер-машину из: •Amazon/Digitalocean—инстанса •Любой VPS’ки •Виртуальной машины в Virtualbox