Что такое Docker?¶
Docker — программное обеспечение для автоматизированного развертывания и управления приложениями в изолированных средах — контейнерах.
Если говорить проще: Docker помогает быстро развернуть разные проекты в своей изолированной контейнерной среде.
Как он работает?¶
В контейнер можно «завернуть» свой или любой другой проект. Существуют готовые образы (images), которые содержат предустановленные проекты со всеми зависимостями, что избавляет от необходимости компиляции и поиска библиотек.
Готовые образы¶
Большая часть образов находится на официальном репозитории Docker Hub.
Самые базовые:
- Debian, Ubuntu, Fedora, CentOS (ОС)
- Python, MySQL, MariaDB, PostgreSQL (сервисы)
А также готовые проекты: - PHP MyAdmin, Apache2, WordPress, phpBB
Это позволяет запускать проекты на разных версиях ПО, обеспечивая совместимость даже со старыми системами.
Доступ к контейнерам¶
Docker предоставляет несколько способов взаимодействия с контейнерами. Чаще всего используются:
- Проброс портов (например, порт
8080в контейнере на порт80хоста) - Монтирование каталогов (например,
/var/www/htmlиз контейнера в папку на хосте)
Комбинирование контейнеров¶
Docker позволяет связывать контейнеры в общую сеть, что необходимо для сложных приложений.
Пример стека для форума на phpBB:
- MariaDB — контейнер с базой данных
- phpBB — контейнер с форумом, подключённый к MariaDB
- PHP MyAdmin — контейнер для управления БД (опционально)
Все три контейнера работают вместе как единое приложение.