В инструкции описан процесс установки и использования Docker на виртуальных серверах под управлением операционной системы Centos 7.
Что это такое?
Docker - это платформа для разработчиков и системных администраторов, предназначенная для разработки, развертывания и запуска приложений в контейнерах изолированных друг от друга. Использование контейнеров для развертывания приложений в Linux называется контейнеризацией. Идея контейнеризации и изоляции приложений зародилась практически сразу после появления первых компьютеров, но только в последние годы их использование широко распространилось и упростилось, благодаря высоким темпам разработки программного обеспечения во всем мире.
Для работы с Docker необходимо понимать отличия между терминами образ и контейнер:
- образ представляет собой исполняемый пакет, включающий все необходимое для запуска приложения - программный код, среду выполнения, библиотеки, переменные среды и файлы конфигурации;
- контейнер запускается из образа и является его экземпляром, т.е. из одного образа может быть запущено несколько контейнеров.
О контейнерах подробно написано в нашем блоге: В чём суть контейнеров приложений?
Образ является шаблоном доступным только для чтения. Образ Docker может быть дистрибутивом Linux или полностью сконфигурированным корпоративным программным обеспечением, готовым к запуску. Все зависит от специального файла - Dockerfile.
Dockerfile - это текстовый файл с инструкциями, написанными в формате, понятном демону Docker. Чтобы создать собственный образ, необходимо создать свой Dockerfile. После того, как Dockerfile подготовлен, можно выполнить сборку для создания соответствующего образа.
Примечание: демон является одним из компонентов Docker, который выполняет тяжелые задачи по созданию, запуску и распределению изображений после получения команд из Докер-клиента.
В общем случае запуск приложения в Docker выглядит так:
- Выбирается приложение, которое требуется запустить в контейнере.
- В конфигурационном файле Dockerfile описывается это приложение и среда выполнения согласно синтаксису.
- Формируется образ приложения, представляющий собой единый файл. Он включает в себя и исполняемые файлы приложения, и все его библиотеки (за исключением общесистемных), т.е. в дальнейшем приложение остается неизменным в контейнере.
- Запускается Docker с указанным образом прикладного приложения, которое используется для прикладных задачи.
Установка
Прежде всего следует обновить локальную базу пакетов:
Для установки самой последней и стабильной версии Docker необходимо обратиться к официальному репозиторию Docker. Следующая команда добавит репозиторий, загрузит последнюю версию ПО и установит его:
Примечание: если вы собираетесь использовать Docker не от имени пользователя root, то необходимо добавить пользователя в созданную после установки группу docker:
Например:
Запустите демон Docker после окончания установки:
Убедитесь в том, что демон стартовал без ошибок и предупреждений:
В результате должно появиться подобное сообщение:
Работа с образами в Docker
Команда docker имеет следующий синтаксис, где после названия команды могут быть перечислены различные опции, команды и аргументы:
docker <option> <command> <arguments>
Чтобы вывести на экран все доступные команды и краткую информацию о них, просто используйте команду docker:
docker
По умолчанию образы извлекаются из реестра Docker Hub, дочернего проекта Docker. Любой пользователь может создавать и размещать свои образы на Docker Hub, поэтому большинство приложений, СУБД и дистрибутивов Linux имеют свои образы на Docker Hub.
Чтобы проверить, можете ли вы получать и загружать образы из Docker Hub, выполните следующую команду:
В результате должно отобразиться подобное сообщение:
Чтобы выполнить поиск нужного образа, используйте следующий формат команды:
Например, для поиска образа nginx используйте следующую команду:
В результате появится список доступных образов:
Загрузить нужный образ можно с помощью команды следующего формата:
docker pull <имя>
Например:
docker pull nginx
Вы увидите процесс загрузки:
После того как образ был загружен на ваш сервер, запустить его можно с помощью опции run:
Посмотреть все загруженные образы можно с помощью опции images:
Отобразится список:
Работа с контейнерами в Docker
Чтобы создать контейнер с именем example на основе образа image, используйте следующую команду:
Примечание: комбинация ключей -i и -t дает интерактивный доступ к оболочке shell в контейнере.
Пример создания контейнера example на основе образа nginx:
Посмотреть запущенные контейнеры можно с помощью опции ps:
Примечание: ключ -l позволяет просмотреть все существующие контейнеры.
Отобразится список:
Чтобы запустить созданный контейнер в фоновом режиме, используйте следующую команду:
Например:
Чтобы зайти внутрь контейнера, который работает в фоновом режиме, выполните следующую команду:
Пример:
Для выхода из контейнера используйте стандартную команду exit.
Чтобы остановить созданный контейнер, используйте следующую команду:
Например:
Чтобы удалить контейнер используйте опцию rm:
Например:
Примечание: ключ -f позволяет удалять запущенные контейнеры без их предварительной остановки.
Для более подробного примера запустим приложение nginx на конкретном порту, например 80, и убедимся, что все работает. Не забудьте настроить firewall и открыть данный порт на сервере:
Запускаем контейнер с именем example:
В адресной строке браузера переходим по адресу вашего сервера с указанием порта, на изображении показан ожидаемый результат:
Ознакомиться с другими инструкциями вы можете на нашем сайте. А чтобы попробовать услугу — кликните на кнопку ниже.