Установка и использование Docker на Centos 7

В инструкции описан процесс установки и использования Docker на виртуальных серверах под управлением операционной системы Centos 7.

Что это такое?

Docker - это платформа для разработчиков и системных администраторов, предназначенная для разработки, развертывания и запуска приложений в контейнерах изолированных друг от друга. Использование контейнеров для развертывания приложений в Linux называется контейнеризацией. Идея контейнеризации и изоляции приложений зародилась практически сразу после появления первых компьютеров, но только в последние годы их использование широко распространилось и упростилось, благодаря высоким темпам разработки программного обеспечения во всем мире.

Для работы с Docker необходимо понимать отличия между терминами образ и контейнер:

О контейнерах подробно написано в нашем блоге: В чём суть контейнеров приложений?

Образ является шаблоном доступным только для чтения. Образ Docker может быть дистрибутивом Linux или полностью сконфигурированным корпоративным программным обеспечением, готовым к запуску. Все зависит от специального файла - Dockerfile.

Dockerfile - это текстовый файл с инструкциями, написанными в формате, понятном демону Docker. Чтобы создать собственный образ, необходимо создать свой Dockerfile. После того, как Dockerfile подготовлен, можно выполнить сборку для создания соответствующего образа.

Примечание: демон является одним из компонентов Docker, который выполняет тяжелые задачи по созданию, запуску и распределению изображений после получения команд из Докер-клиента.

В общем случае запуск приложения в Docker выглядит так:

  1. Выбирается приложение, которое требуется запустить в контейнере.
  2. В конфигурационном файле Dockerfile описывается это приложение и среда выполнения согласно синтаксису.
  3. Формируется образ приложения, представляющий собой единый файл. Он включает в себя и исполняемые файлы приложения, и все его библиотеки (за исключением общесистемных), т.е. в дальнейшем приложение остается неизменным в контейнере.
  4. Запускается 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:

В адресной строке браузера переходим по адресу вашего сервера с указанием порта, на изображении показан ожидаемый результат:


Ознакомиться с другими инструкциями вы можете на нашем сайте. А чтобы попробовать услугу — кликните на кнопку ниже.

Последнее обновление: 22.09.2021