Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

Про Docker

Автор Yougi, июля 9, 2021, 13:28

0 Пользователи и 1 гость просматривают эту тему.

Yougi

 В чём величие докера? Как я понимаю, это такая виртуальная машинка на одно приложение.
Или я неправ?
Кто применяет докер в своей практической деятельности?
Ссылки почитать на понятном языке тож приветствуются...

wandrien

Контейнер — это не виртуальная машина. Это chroot с полной изоляцией.

Величие в том, что не нужно страдать от конфликтов имен в файловой системе и несовместимых версий софта. Запускаешь в контейнере приложение сразу с нужным рантаймом.

Вот например берем и открываем сеанс во временном контейнере с Debian 10, который будет удален сразу после закрытия сеанса:


docker run --rm -ti debian:10 /bin/bash


Могу сразу ставить опыты на Дебиане, а сам я на Arch сижу.

злой

Цитата: Yougi от июля  9, 2021, 13:28
В чём величие докера? Как я понимаю, это такая виртуальная машинка на одно приложение.
Или я неправ?
Кто применяет докер в своей практической деятельности?
Ссылки почитать на понятном языке тож приветствуются...


Есть такая целая современная отрасль айтишной деятельности под названием "девопс", которая развилась за последние лет десять. В организации, где я работаю, несколько десятков разработчиков, ведущих большое количество в основном небольших продуктов, доступных через Web, REST или SOAP-интерфейсы. То есть это не тяжёлые программы с высокой утилизацией железа, а приложения, к которым либо редко обращаются, либо обращаются часто, но сильно железо они не нагружают. Такие программы нужно или параллельно запускать на железе (тогда нужен админ, который будет следить за их работой), или выделять под каждое приложение по виртуальной машине, что крайне нерационально. И в этой ситуации хорошо помогают контейнеры: они достаточно легковесны, чтобы оверхед на их использование не заставлял оборудование работать сильно много без толку. С другой стороны, процесс работы с контейнерами за последнее десятилетие до такой степени научились автоматизировать, что админ для каждого отдельного приложения не нужен, у нас несколько сотен сервисов, которые администрируются четырьмя девопсами (точнее говоря, девопсы администрируют сервера Kubernetes, на которых крутятся контейнеры). Среда выполнения непосредственно "скрещена" со средой разработки: разраб ведёт несколько веток, тестирует изменения и одним движением руки вводит изменения в действие на коммерческой среде (всё это дело настраивается один раз при создании приложения, по готовым шаблонам). То есть если рассмотреть процесс разработки вместе со всеми "сопутствующими действиями", а потом поддержкой, то контейнеризация даёт удобную среду для создания приложений, которые будут высоко утилизировать вычислительные мощности, при этом экономя время администраторов и разработчиков. Как-то так в общем.

И вот то, что написал wandrien про изоляцию, помогает на одном железе запускать кучу совершенно не взаимосвязанных приложений с потенциально перекрывающимися пространствами имён. Они друг друг не мешают.
Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz.   - Benito Juárez

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр