29.04.2020

Что такое Docker?

Docker — это инструмент, представляющий собой систему управления контейнерами, официальный релиз которого состоялся в 2013 году. Такая система крайне полезна при масштабировании, обновлении и особенно при миграции на другой сервер.

Docker функционирует на программном языке Go. Несмотря на то, что изначально инструмент мог использоваться исключительно на оборудовании, работающем на операционной системе Linux, теперь он совместим также и с устройствами на Windows и macOS.

Говорить о нишевости проекта не приходится. За относительно краткий срок он стал популярен среди широкого круга специалистов и уже используется для целого ряда решений, а тенденция к обретению еще большей популярности ожидается и в будущем. Одна из главных причин этого — Docker Hub, репозиторий предварительно созданных образов контейнеров со свободным доступом. Заполняют его не только фрилансеры, но и энтузиасты, увлекающиеся программированием. Официальные разработчики также оставляют в открытом доступе десятки готовых приложений. К примеру, сейчас там можно найти Jenkins, Redmine, GitLab, MySQL, Apache, Elasticsearch и множество других решений.

Как работать с Docker

Система проста и удобна в использовании. В качестве примера рассмотрим запуск WordPress с нуля. C помощью Docker для начала работы с этой системой управления сайтами достаточно выполнить команды:

docker run --name wp-mysql -e MYSQL_ROOT_PASSWORD=wpmsqlpsswd -d mysql:5.7
docker run --name my-wordpress --link wp-mysql:mysql -d -p 80:80 wordpress

После чего открыть в веб-обозревателе страницу http://localhost, где вместо localhost следует указать внешний IP-адрес вашего сервера, и приступать к настройке WordPress.

Структура Docker

При работе с экосистемой пользователи на постоянной основе сталкиваются с тремя основополагающими терминами:

Преимущества использования Docker

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

Допустим, вам понадобилось установить Github, Jenkins, Redmine или что-либо еще. Вместо того, чтобы собственноручно заниматься настройкой среды, установкой пакетов и веб-сервера, можно запустить контейнер, где огромная часть работы уже сделана за вас.

Репозиторий hub.docker.com содержит сотни тысяч таких программ. Все они устанавливаются вместе с требуемыми для работы библиотеками, что исключает возможность конфликта с другим ПО.

Использовать Docker можно и для переноса собственного приложения в другую среду. Для этого нужно просто загрузить ваш контейнер в репозиторий и выгрузить его на новый сервер.