Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Нужны ли действительно контейнеры Docker на Windows ?

Ответить
Настройки темы
Нужны ли действительно контейнеры Docker на Windows ?

Ветеран


Сообщения: 2099
Благодарности: 143


Конфигурация

Профиль | Отправить PM | Цитировать


Доброе время суток. Решил поизучать технологию контейнеров для Docker, для Windows. В частности все эксперименты ставлю на Windows Server 2016 Std. И у меня в голове возникает 1 вопрос, на который я не могу найти аргументированные ответы: "А нафига вообще нужен этот Docker ?". Конечно, если почитать теорию ( что я делал перед заданием вопроса), то вроде все просто: "Как это зачем ? Docker существенно экономит ресурсы, т.к. по сравнению со средствами виртуализации, здесь VM полностью не стартует. Так же можно упаковать приложение в контейнер, его проще развернуть, запустить и т.д.". Это все я читал в теории, что я получил на практике:
1. Неудобство управления контейнерами. А именно:
- я не нашел как сделать так чтобы расположить нужные мне контейнеры в заданных расположениях
- неудобство запуска и подключения к контейнерам. Я ввожу docker attach ID_контейнера - и ничего не происходит минут 20. Почему не происходит подключение к уже запущенному контейнеру - непонятно. Нагрузки на компьютерв этот момент нет.
2. Неудобство просмотра ресурсов, которые используют контейнеры: диск, память и т.д.
3. Неудобство работы с контейнерами:
- я не нашел контейнера с графической оболочкой. Да и в принципе не нашел ответа на вопрос, есть ли контейнеры с графической оболочкой или нет
- 1 и тот же контейнер дублируется - т.е. вводишь docker ps -a и видишь для 1 предполагаемого контейнера несколько разных

В итоге лично я получаю какую-то кашу вместо удобного инструмента работы. И экономия ресурсов в моем случае явно не перевешивают эту кашу. Это если учесть что у того же Hyper V сейчас много инструментов и фишек по экономному расходованию ресурсов ( динамическая память, динамические диски, задание эталонной VM, на основе которой можно быстро "нашлепать" дочерних по отношению к ней VM).
Мой вопрос адресуется к Windows-админам, успешно применяющих Docker в своей среде/работе. Что в нем есть такого, что перевешивает все его видимые мной минусы, и действительно делает нужным его применение вместо виртуальных машин на том же Hyper V 2019 ?

-------
"Нет" - войне.


Отправлено: 09:53, 16-08-2020

 

Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата __sa__nya:
Так же можно упаковать приложение в контейнер »
не "можно упаковать", а это основное назначение - доставка приложения вместе с настроенным окружением

Цитата __sa__nya:
расположить нужные мне контейнеры в заданных расположениях »
1) зачем?
2) это не имеет смысла, т.к. контейнеры многослойные; как правило, самые тяжёлые нижние слои у них будут общие

Цитата __sa__nya:
ввожу docker attach ID_контейнера - и ничего не происходит минут 20. Почему не происходит подключение к уже запущенному контейнеру - непонятно. »
либо контейнер кривой, либо вы что-то не то делаете

Цитата __sa__nya:
Неудобство просмотра ресурсов, которые используют контейнеры: диск, память и т.д. »
потребление ресурсов смотрят в системе мониторинга

Цитата __sa__nya:
я не нашел контейнера с графической оболочкой »
зачем?
нет таких контейнеров

Цитата __sa__nya:
1 и тот же контейнер дублируется - т.е. вводишь docker ps -a и видишь для 1 предполагаемого контейнера несколько разных »
намекаю: вы точно так же можете в Windows запустить несколько Блокнотов - это тоже баг?

Цитата __sa__nya:
что перевешивает все его видимые мной минусы »
просто ваши "минусы" - не минусы

Контейнеры - это средство доставки приложения. Внутренний или внешний разработчик готовит контейнер с приложением. Для запуска такого подготовленного приложения нужно только указать базовые параметры типа сетевого порта и места для хранения данных. В случае поставки приложения в виде традиционного дистрибутива нужно становить ОС; какие-то библиотеки типа Visual C redistributable, драйвер ODBC; установить само приложение, настроить его. Причём установка и настройка у каждого приложения происходит по-своему.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:16, 16-08-2020 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


Сообщения: 2099
Благодарности: 143

Профиль | Отправить PM | Цитировать


Цитата Busla:
1) зачем?
2) это не имеет смысла, т.к. контейнеры многослойные; как правило, самые тяжёлые нижние слои у них будут общие »
- Затем, что если запущено, например 10 контейнеров с SQL Server'ом, в котором предполагается подключить базы, то эту нагрузку необходимо распределить по разным дискам/RAID-массивам вместо одного.

Цитата Busla:
потребление ресурсов смотрят в системе мониторинга »
Я сравниваю удобство Docker c Hyper-V. В Hyper-v все можно посмотреть в Hyper-V Manager. В Docker'e подобных инструментов, именно графических ( т.к. в графических инструментах данные читать гораздо удобнее) не нашел.

Цитата Busla:
зачем?
нет таких контейнеров »
Затем что приложения бывают еще и графические, для работы которых нужен GUI-интерфейс. И мне нужно было понимать подходит ли Docker для графических приложений или нет. Получается что Docker не для графики.

Цитата Busla:
намекаю: вы точно так же можете в Windows запустить несколько Блокнотов - это тоже баг? »
- Ну ОК, раз мы любим троллить, покажу наглядно что имею ввиду. Если я явно запущу несколько блокнотов - это конечно не баг. А если я явно запущу командой run ( не start) 3 раза контейнер, почему в списке вместо трех контейнеров вижу 10 ? Вот здесь можно намекнуть либо на баг, либо на очень странную логику работы, какую-то нелогичную:


- Busla, вопросы к вам:
1. Как давно вы используете Docker в Windows-среде
2. Сколько экземпляров контейнеров вы используете постоянно ( в явно запущенном виде) ?

-------
"Нет" - войне.


Последний раз редактировалось __sa__nya, 17-08-2020 в 08:06.


Отправлено: 07:56, 17-08-2020 | #3


Ветеран


Сообщения: 2099
Благодарности: 143

Профиль | Отправить PM | Цитировать


У кого еще какое мнение и опыт с Docker-контейнерами ?

-------
"Нет" - войне.


Отправлено: 08:28, 17-08-2020 | #4


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата __sa__nya:
если запущено, например 10 контейнеров с SQL Server'ом, в котором предполагается подключить базы, то эту нагрузку необходимо распределить по разным дискам/RAID-массивам вместо одного. »
теперь, понятно, о чём вы - это параметр --mount есть ещё близкий по смыслу --volume, но официальная позиция: "New users should use the --mount syntax."

В первую очередь это делается, чтобы при обновлении/замене контейнера не потерять данные внутри него. Как правило в полноценных учебных курсах этому уделяется специальное внимание. Попробуйте почитать книгу или посмотреть видеокурс. Методом тыка вы далеко не уедете.

В целом, запихивание БД в контейнер - сомнительный ход, больше подходящий для dev-окружения. Контейнеры больше про вычисления, а хранение данных для них - внешний сервис.

Цитата __sa__nya:
В Hyper-v все можно посмотреть в Hyper-V Manager.»
на счёт "всё" мне как-то сомнительно, но "управлялка" для контейнеров есть в Windows Admin Center. Но по-хорошему контейнеры нужно заводить в общую систему мониторинга.

Цитата __sa__nya:
Затем что приложения бывают еще и графические, для работы которых нужен GUI-интерфейс. И мне нужно было понимать подходит ли Docker для графических приложений или нет. »
Docker в первую очередь серверная технология и не подходит для графических приложений. Для разработчиков создающих серверные приложения с графическим интерфейсом приготовлен отдельный котёл в аду.

Цитата __sa__nya:
А если я явно запущу командой run ( не start) 3 раза контейнер, почему в списке вместо трех контейнеров вижу 10 ? »
лучше было бы листинг вставить текстом
Смотрите столбик CREATED, контейнер вы запустили два раза, а не три. А всё остальное вы создали ещё неделю тому назад.

Цитата __sa__nya:
Как давно вы используете Docker в Windows-среде »
видимо, начиная с релиза Docker for Windows
а какая разница, запущена в контейнере linux-версия 1с или windows-версия 1с? - что интерфейс, что результат - практически идентичный

Цитата __sa__nya:
Сколько экземпляров контейнеров вы используете постоянно ( в явно запущенном виде) »
Понимаю ваш ехидный вопрос. Единственным айтишником на организацию я последний раз был когда Docker не существовал даже в планах.
А то умопомрачительное количество контейнеров, что крутится на серверах организации - естественно не моя личная заслуга.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:11, 17-08-2020 | #5


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


А что, докер как windows feature есть? Прикольно, надо будет поковырять...

Цитата __sa__nya:
Что в нем есть такого, что перевешивает все его видимые мной минусы, и действительно делает нужным его применение вместо виртуальных машин на том же Hyper V 2019 ? »
В этой теме всё сводится к вот этому вопросу, а точнее к предубеждениями из-за которых он возник. Предубеждение в том что есть вот контейнеры а есть виртуалки. У контейнеров свои плюсы-минусы, у виртуалок другие. Так вот - контейнеризация это НЕ замена и не конкурент виртуализации. Это разные инструменты применяемые для разных задач.

Докер Контейнеризация нужна для воспроизводимости - чтобы гарантировать что приложение всегда будет работать одинаково, как уже было упомянуто выше. Старый классический способ "дать" своё приложение своим клиентам или там коллегам в другой отдел состоял в том что вот тебе ехе-шник установщика, вот тебе мануал как настраивать софт, а ещё вот этот дополнительный софт установи чтоб моё приложение работало, всё это заворачиваем в архив и видаем админу, пусть разбирается.

В противовес этого сейчас даётся контейнер, внутри которого уже всё настроено, просто запускаешь и работает.
И, основным плюсом является то что оно работает гарантированно точно так же как и у всех других использующих тот же контейнер. Это значит что если в контейнере ошибка - у того мейнтейнера тоже есть эта ошибка. И он её найдёт и пофиксит. Больше не нужно никаких танцов с бубном типа а вот тут настрйоки проверь. А точно вот эта служба запущена? А вот в эту папку есть права на запись а то я забыл в мануале уточнить и прочее.

Вообще это инструмент, преимущества которого очевидны, во-первых, разработчикам (и смежным областям), при чем в больших объемах. Когда у тебя грубо говоря 3 виртуалки с серверной ОС и 10 приложений, который ты сам себе настраиваешь и пользуешься - оно и не нужно. А когда серверов десятки тысяч - уже совсем другое дело.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:14, 17-08-2020 | #6


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6491
Благодарности: 1465

Профиль | Отправить PM | Цитировать


Цитата __sa__nya:
В Docker'e подобных инструментов, именно графических ( т.к. в графических инструментах данные читать гораздо удобнее) не нашел. »
https://www.portainer.io/

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 22:02, 17-08-2020 | #7


Ветеран


Сообщения: 2099
Благодарности: 143

Профиль | Отправить PM | Цитировать


Цитата Charg:
А что, докер как windows feature есть? Прикольно, надо будет поковырять... »
- Как компонента Windows - нет. Docker ставится командами powershell из одного из доступных репозиториев. Это именно для Windows Server. Для настольных Windows- систем - есть Docker Desktop.


Дополню свой изначальный вопрос еще одним: какие самые популярные Docker приложения на вашей практике ?

-------
"Нет" - войне.


Отправлено: 06:33, 18-08-2020 | #8


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


__sa__nya, что такое "Docker приложения"?

Отправлено: 10:44, 18-08-2020 | #9


Старожил


Сообщения: 208
Благодарности: 51

Профиль | Отправить PM | Цитировать


Цитата __sa__nya:
Docker приложения
Вы случаем не имеете в виду следующее: приложение docker - это запускаемая команда и далее по тексту?

Отправлено: 17:37, 01-09-2020 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » Нужны ли действительно контейнеры Docker на Windows ?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - Установить Docker на Windows Server 2016 __sa__nya Программное обеспечение Windows 0 26-07-2020 14:12
Действительно ли "затормаживается" комп, если держать файлы на рабочем столе? Yewgeniy Хочу все знать 1 06-05-2016 21:08
[решено] Нужны ли сборки windows? Slimus07 Хочу все знать 55 31-03-2013 09:58
Интерфейс - [решено] Папки-контейнеры на рабочем столе Nikkore Microsoft Windows 7 8 11-06-2010 01:54
Разное - Нужны ли CAL для Windows Server 200x на сервере - сетевом шлюзе? Greyman Лицензирование продуктов Microsoft 8 11-08-2008 09:27




 
Переход