Как управлять приложениями внутри контейнера Docker

Как управлять приложениями внутри контейнера Docker

Контейнер Docker — автономный исполняемый пакет, содержащий все необходимое для запуска программного обеспечения, включая код, среду выполнения, библиотеки и инструменты. Благодаря технологии контейнеризации, процесс развертывание приложений стал проще и эффективнее.

Мы подготовили целую серию статей, посвященных использованию Docker в дистрибутивах CentOS / RHEL Linux:

  1. Установка Docker и базовые операции над контейнерами в CentOS / RHEL Linux.
  2. Как управлять приложениями внутри контейнера Docker.
  3. Создание собственного образа Docker с помощью Dockerfile.

В этой статье мы расскажем, как устанавливать и запускать приложения внутри контейнеров Docker.

Содержание:

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

Создание контейнера на базе образа Ubuntu

В прошлой статье из этой серии мы показали Вам, как загрузить образ Ubuntu из Docker Hub. Поэтому используем его для создания контейнера. Для примера запустим новый контейнер в интерактивном режиме с оболочкой Bash:

 

run interactive shell

Установка приложения в контейнере

В открывшемся терминале Ubuntu Linux можно выполнять команды. Допустим, нам нужно установить приложение nginx. Для этого сначала обновим все подключенные репозитории:

 

apt update

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

После чего установим утилиту nginx:

 

install nginx

По окончании инсталляции выйдем из контейнера, выполнив в терминале:

 

Также выведем на экран информацию о созданном контейнере с помощью команды:

 

docker ps last

Создание образа на основе контейнера Docker

Мы можем сохранить наш контейнер в виде образа Docker, чтобы в будущем использовать его для создания других контейнеров, которые будут иметь те же настройки и приложения. Для этого применим следующую команду:

 

Здесь:

  • <container-id> — уникальный идентификатор или название контейнера, который нужно зафиксировать в виде образа;
  • <new-image-name> — желаемое название для нового образа;

Убедимся, что мы создали новый контейнер, выполнив в терминале:

 

docker commit images

Далее запустим контейнер на основе нового образа и убедимся в том, что в нем установлена утилита nginx:

 

run ubuntu-nginx whereis nginx

Читайте также: Установка Nginx с виртуальными хостами (Virtual Hosts) в Debian 10.

На скриншоте выше видно, что команда whereis nginx вывела на экран расположение исполняемого файла nginx.

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

Чтобы запустить веб-сервер nginx в контейнере, для начала создадим контейнер Docker с помощью команды:

 

При выполнении команды происходит следующее:

  • создается новый контейнер Docker на основе образа ubuntu-nginx;
  • открывается интерактивная сессия терминала внутри контейнера с использованием Bash;
  • порт 81 на хосте перенаправляет запросы на порт 80 контейнера, что позволяет веб-серверу nginx принимать запросы с основной ОС через порт 81.

Далее запустим сервер nginx в контейнере в фоновом режиме:

 

После чего отсоединим командную строку контейнера от терминала основной ОС, последовательно нажав клавиши Ctrl + p и Ctrl + q.

run application

На скриншоте выше видно, что контейнер продолжает свою работу после отсоединения интерактивной сессии от интерфейса командной строки CentOS Linux.

Проверка работы веб-сервера на хост-системе

Состояние веб-сервера nginx можно проверить с помощью команды netstat. Если в списке активных портов присутствует порт 80 или 81, значит, утилита запущена:

 

netstat

Также если сервер nginx запущен, его стартовую страницу можно открыть в любом браузере. Для этого достаточно ввести в поисковой строке:

 

nginx in browser

Остановка запущенного контейнера Docker

Чтобы остановить контейнер, выполним в терминале следующую команду:

 

stop container

Читайте также: 10 наиболее часто используемых команд управления Nginx, которые должен знать каждый администратор Linux.

Выводы

Возможности изоляции Docker упрощают разработчикам управление программами в различных вычислительных средах, обеспечивая их стабильную работу. Понимание процесса установки и запуска приложений в контейнерах Docker очень важно для тех, кто стремится оптимизировать процессы развертывания ПО. Чтобы более детально разобраться с работой в 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, подайте заявку или получите бесплатную консультацию.

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

1 комментарий. Оставить новый

  • Команда docker commit сохраняет установленные приложения, но не сохраняет скачанные из Интернета пользователськие файлы. Как сделать так, чтобы сохранялись пользовательские файлы?

    Ответить

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

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

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


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