Как поместить свое веб приложение в Docker контейнер. Работа с Dockerfile.

Как поместить свое веб-приложение в Docker-контейнер. Работа с Dockerfile

Рубрики:

Docker

Метки:

, , ,

В этой статье будет показано, как поместить свое веб-приложение в Docker-контейнер и упростить задачу запуска новых контейнеров, создав Dockerfile.

Так как в рамках этой статьи нас интересует помещение веб-приложения в контейнер, а не его создание, мы будем использовать один из самых простых способов создания веб-приложения — Python + Flask.

Действия будут выполняться на Ubuntu 20.04 с установленными Python3 и pip3.

Если вы хотите узнать, как правильно установить Python и приложение для удобной разработки — прочитайте статьи по правильной установке Python на Windows или Linux.

Содержание:

  1. Создание веб приложения в основной системе
  2. Запуск веб приложения в основной системе
  3. Создание Dockerfile
  4. Создание образа из Dockerfile
  5. Запуск контейнера из созданного образа
  6. Проверка сервера внутри контейнера
  7. Выводы

Создание веб приложения в основной системе

Перед помещением в контейнер давайте создадим простое веб-приложение на Flask и запустим его на нашей системе.

Создадим каталог:

 

Установим Flask с помощью pip3:

 

Создадим в этом каталоге файл Пайтон server.py с Flask-сервером в любом текстовом редакторе:

Flask app

Запуск веб-приложения в основной системе

Перед помещением в контейнер проверим работоспособность нашего веб-приложения.

 

Теперь в браузере переходим по адресу http://127.0.0.1:5000/ и видим сообщение от сервера:

Flask app

Поздравляю, наш сервер работает! Теперь можно нажать CTRL + C для его остановки и приступить к настройке контейнера Docker.

Создание Dockerfile

Начнем размещение нашего приложения с создания Dockerfile — он позволит просто создавать новые контейнеры нашего приложения без необходимости каждый раз настраивать иx заново.

В любом текстовом редакторе создаем Dockerfile с таким содержимым:

Dockerfile

FROM — указывает на каком образе основывать новый образ.

RUN — выполняет в консоли образа команды для настройки. Чаще всего используется для установки компонентов. Выполняется при создании образа системы (не выполняются при каждом запуске).

COPY — копирует из основной системы какие-либо файлы внутрь контейнера. В нашем случае копирует все содержимое текущей папки в основной системе в папку /web-server контейнера.

CMD — выполняет одну основную команду в консоли. В нашем случае команда запускает сервер. Выполняется при каждом запуске контейнера.

Создание образа из Dockerfile

После создания Dockerfile мы можем добавить его в качестве образа следующей командой:

 

Dockerfile

Теперь в списке загруженных образов появится наш новый созданный образ.

 

Dockerfile

Запуск контейнера из созданного образа

Осталось только запустить новый контейнер, основываясь на созданном из Dockerfile образе.

 

Docker

Все параметры для запуска контейнера разобраны в этой статье.

Проверка сервера внутри контейнера

Теперь, когда контейнер запущен, можно снова зайти на http://127.0.0.1:5000/ и получить тот же результат. Но теперь, как мы видим по выводу в консоли — наш запрос обрабатывается сервером внутри контейнера.

Docker

Для запуска контейнера в фоновом режиме можно использовать флаг -d.

Dockerfile

Выводы

Теперь вы знаете, как можно поместить свое веб-приложение внутрь контейнера Docker и создать образ своего сервера с помощью Dockerfile.

Как установить Docker и управлять его контейнерами — показано тут.

Спасибо за время, уделенное прочтению этой статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Docker

Метки:

, , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню