В наши дни Docker - это технология, доступная по запросу, поскольку многие крупные компании используют ее для сокращения своих рабочих нагрузок. Он используется для создания, упаковки и развертывания приложений поверх контейнерных технологий. Docker может запускать приложение с высоким использованием ресурсов с минимальным использованием ресурсов. Виртуализация на основе гипервизора требует много ресурсов за счет установки всей операционной системы, тогда как Docker использует очень легкие и масштабируемые контейнеры для запуска приложений.
Docker можно установить в Linux, Mac и Windows. Хотя он изначально работает в Linux, для него требуется, чтобы Hyper-V был включен в Windows.
Docker также имеет Docker Hub, облачный сервис, где мы можем найти изображения от проверенных издателей, а также можем публиковать и делиться своими собственными изображениями. После того, как мы извлекли образ из Docker Hub, мы можем создать множество контейнеров из одного и того же образа.
Особенности Docker:
- Это программное обеспечение с открытым исходным кодом.
- Предоставляет платформу как услугу для запуска приложения в виртуальной среде.
- Понять и использовать технологию Docker очень легко.
- Приложения Docker можно легко перемещать и запускать в любой системе с установленным Docker.
- Очень быстрая миграция док-контейнеров из облачной среды в локальный и наоборот.
Docker может читать и выполнять инструкции внутри Dockerfile и автоматически создавать указанный образ. В этом руководстве будет показано, как мы можем автоматически создать образ докера с помощью файла Docker в операционной системе Debian 10 (Buster). Мы развернем веб-сервер Nginx и создадим собственный образ Docker.
Предпосылки:
- Доступ к привилегиям sudo.
- Базовые знания команд Docker.
Прежде чем мы начнем наше путешествие, давайте быстро рассмотрим некоторые важные концепции и требования, которые необходимы для понимания этого руководства. Во-первых, в вашей системе должен быть установлен Docker. Если вы еще этого не сделали, вы можете следовать этому руководству, чтобы установить докер. Вы также можете использовать официальное руководство, доступное на веб-сайте Docker, для установки Docker на Debian 10.
- Dockerfile: Этот файл описывает всю конфигурацию, которую мы хотим иметь в нашем контейнере Docker. Это набор инструкций, определяющих, как создать образ.
- Образ Docker: На самом деле это образ шаблона, который мы можем использовать для создания нашего настраиваемого контейнера. Мы можем сказать, что образ докера - это неизменяемый файл или изображение только для чтения.
- Контейнер Docker: Проще говоря, контейнер Docker - это экземпляр нашего образа докера. Мы можем сказать, что образ Docker является базовым, и мы создаем настраиваемый контейнер поверх образа Docker, добавляя к этому образу доступный для записи слой. Мы можем использовать один образ Docker для создания нескольких контейнеров Docker.
Надеюсь, этого обзора нам хватит, чтобы начать работу с Docker. Итак, давайте посмотрим, как автоматически создавать образы с помощью Dockerfile.
Шаг 1. Самый первый шаг в создании образа начинается с файла докера. Итак, давайте сначала создадим рабочий каталог, а внутри него мы сделаем Dockerfile.
$ mkdir mydock1 # Это создает новый каталог.$ nano Dockerfile # Это наш dockerfile.
Мы можем использовать любой текстовый редактор, кроме nano, например vi или vim.
Шаг 2. Добавьте следующий контент в Dockerfile и сохраните его.
ОТ ubuntuСопровождение linuxhint
ЗАПУСТИТЬ apt-get update \
&& apt-get install -y nginx \
&& apt-очистить \
&& rm -rf / var / lib / apt / lists / * / tmp / * / var / tmp / * \
&& echo "демон выключен;" >> / и т. д. / nginx / nginx.conf
ЭКСПОЗИЦИЯ 80
Запуск службы CMD nginx
Шаг 3. Теперь, когда у нас есть готовый файл Dockerfile, пришло время создать образ. Просто используйте следующую команду:
$ sudo docker build -t изображение веб-сервера: v1 .Синтаксис:
sudo docker build -t имя: тег / путь / к / каталогу / из / dockerfileПримечание: Всегда запускайте команду docker с правами root или «sudo», чтобы избежать ошибки: «Получено отказано в разрешении при попытке подключиться к сокету демона Docker в unix: /// var / run / docker»
В приведенной выше команде изображение веб-сервера - это имя нашего образа докера. Вы можете использовать здесь свое собственное имя. V1 - это тег для нашего изображения.
Если все пойдет правильно, мы должны увидеть следующий результат:
Отправка контекста сборки демону Docker 2.048кБ
Шаг 1/5: ИЗ ubuntu
-> f643c72bc252
Шаг 2/5: MAINTAINER linuxhint
-> Использование кеша
-> 1edea6faff0d
Шаг 3/5: ЗАПУСТИТЕ apt-get update && apt-get install -y nginx && apt-get clean && rm -rf / var / lib / apt / lists / * / tmp / * / var / tmp / * && echo « демон прочь; " >> / и т. д. / nginx / nginx.conf
-> Использование кеша
-> 81398a98cf92
Шаг 4/5: ЭКСПОЗИЦИЯ 80
-> Использование кеша
-> 2f49ffec5ca2
Шаг 5/5: запуск службы CMD nginx
-> Использование кеша
-> 855796a41bd6
Успешно построено 855796a41bd6
Изображение веб-сервера успешно отмечено тегами: v1
Шаг 4. Когда у нас есть несколько изображений, мы можем использовать следующую команду для поиска определенного изображения:
Шаг 5. Теперь мы запустим наш образ докера, чтобы убедиться, что он работает должным образом:
$ sudo docker run -d -p 80:80 изображение веб-сервера: v1После успешного запуска он сгенерирует длинный идентификатор, как показано ниже:
ШАГ 6. Если все пойдет правильно, мы сможем увидеть нашу веб-страницу, работающую в нашем веб-браузере nginx, внутри докера. Выполните следующую команду, чтобы проверить это:
$ curl 'ip_address'Имейте в виду, что используемый здесь IP-адрес - это IP-адрес контейнера докеров, установленный в операционной системе нашего хоста. Чтобы точно узнать требуемый здесь IP-адрес, выполните на хосте следующую команду:
$ ip a | grep ^ докерВышеупомянутая команда будет содержать IP-адрес, который мы должны использовать здесь.
Приведенная выше команда curl отобразит индекс.html-контент веб-сервера nginx.
Еще один простой и понятный способ - передать докер в качестве аргумента curl, как показано ниже:
Шаг 7. При желании вы можете проверить, какой порт и какие процессы запущены внутри нашего контейнера докеров. Выполните следующую команду:
$ sudo docker psНа этом мы завершаем наше руководство по автоматическому созданию образов Docker в Debian 10 (Buster). Мы видели, как мы можем создавать образы Docker из Dockerfile вместо того, чтобы вручную редактировать каждое изображение.
Хотя это руководство выполнено в Debian 10, оно также должно работать в других дистрибутивах на основе Debian, таких как Ubuntu, Linux mint и т. Д. Пожалуйста, не забудьте поделиться этим руководством с другими. Также подпишитесь на наш блог, чтобы получать последние обновления и инструкции по Linux.