Сегодня поговорим о роли и значении Docker в жизни серверов.
Что такое Docker
Docker представляет собой систему управления контейнерами. Она позволяет «упаковать» приложение или веб-сайт со всем его окружением и зависимостями в контейнер, которым в дальнейшем можно легко и просто управлять: переносить на другой сервер, масштабировать, обновлять.
Docker был написан на языке программирования Go и выпущен в 2013 году. Изначально он работал только с Linux-системами, однако на данный момент его можно использовать также в Windows и macOS. Несмотря на то, что проект является относительно новым, Докер широко используется многими специалистами и продолжает завоевывать популярность.
Важной частью экосистемы Docker является Docker Hub – открытый репозиторий образов контейнеров. В нем можно найти десятки готовых приложений от официальных разработчиков. Среди них – nginx, MySQL, Apache, Gitlab, Redmine, Elasticsearch, Jenkins и другие.
Например, для запуска WordPress с помощью 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://12.34.56.78 (здесь укажите реальный IP-адрес вашего VDS) и приступите к настройке CMS!
Теперь расскажем о том, что представляет собой Docker. Три основных термина в экосистеме Docker:
- Образ (image) – шаблон, который используется для создания контейнеров. Представляет собой слепок файловой системы, в котором расположен код приложения и его окружение.
- Реестр (registry) – репозиторий образов. Docker Hub, о котором шла речь выше, – это публичный репозиторий, где хранится огромное количество образов.
- Контейнер (container) – запущенное приложение, т.е. совокупность процессов и образа.
Преимущества Docker
Как уже было замечено выше, Docker – это в первую очередь удобство. Выполнить многие действия – к примеру, создать готовое для запуска приложение или установить дополнительное ПО – становится намного проще и быстрее. Используя Docker, вы сможете оптимизировать свою работу и экономить время.
Возьмем ситуацию, когда вам нужно установить Redmine, Github, Jenkins или что-то другое. В обычной ситуации вы бы самостоятельно загружали пакеты, настраивали окружение, а также отдельно устанавливали веб-сервер. С Docker все намного проще – вам просто необходимо запустить готовый контейнер из репозитория hub.docker.com. В базе Docker содержится более 100 тысяч готовых к установке приложений, среди которых вы точно найдете нужное.
Образы контейнеров Docker содержат в себе все необходимые приложению библиотеки, поэтому конфликтов с другим ПО не будет.
Стоит также отдельно отметить, что, используя Docker, вы сможете легко перенести приложение в другую среду: достаточно загрузить образ в репозиторий и скачать его на сервере. И вы можете не беспокоиться, что запущенное приложение использует все ваши ресурсы – Docker позволяет настроить количество ресурсов, выделенное под каждое приложение.
Как установить Docker на VDS Timeweb
Так как мы постоянно работаем над тем, чтобы сделать работу на нашем хостинге удобной и комфортной для наших клиентов, внедрение Docker было лишь вопросом времени.
Для того чтобы начать использовать Docker, сначала вам необходимо установить его – это можно сделать двумя путями.
- Вы можете установить Docker в панели управления VDS при создании нового сервера: на 2-м шаге «Программное обеспечение», при выборе Ubuntu 16.04 в качестве операционной системы, вы сможете установить DockerUI.
- Также вы можете провести установку через консоль любого дистрибутива Linux, следуя инструкции на официальном сайте.
Соответственно, работа с Docker может производиться либо в консоли, либо в соответствующем интерфейсе.
Как и во многих других случаях, работа с Docker напрямую через консоль отличается большей стабильностью и широкими возможностями. Все необходимые команды вы найдете на этой странице официального сайта.
Однако начинающим пользователям, которые хотят познакомиться с Docker, будет удобнее работать в DockerUI:
Если вам интересно более детально разобраться в том, что такое Docker, рекомендуем к чтению следующую англоязычную статью: What is Docker?
Комментарии