Если вы не программист или просто с этим не сталкивались, то знайте, что специально под эти случаи существует такая технология docker. Это когда весь этот кусок комнаты вместе со стеной, плинтусом, ковриком, поездом и рельсами кое-как отпиливается огромной пилой, упаковывается в контейнер и отправляется заказчику. И теперь он может снимать такие же тиктоки, потому что и у него тоже всё работает, хотя по-прежнему никто не знает, как!
- Слушай, разработчик, у клиента твоя программа не работает.
- Ничего не знаю, у меня на компе она работает.
- Тогда давай сюда твой комп, отдадим клиенту.
Как-то так придумали докер)
Не. Сначала программисты захотели, чтобы у них было несколько компов. Но это дорого, поэтому придумали виртуалки. Потом программисты решили, что виртуалку под каждую мелкую хуйню заводить - это жирно и затратно. И придумали контейнеры.
А потом они охуели от того, что у них тысячи контейнеров. И чтобы как-то этой ебалой управлять, придумали всякие свармы-кубернетесы.
Контейнеры - это не замена виртуалок. Изначально цель была обезопасить систему от запущенного процесса.
Не было там изначально и в помине про безопасность. Первые докерные рантаймы были лютейшим дырявым говном, работающими исключительно из под рута, вся цель которых была тупо в разных неймспейсах и единообразной среде окружения, причем выйти за пределы контейнера не было особой проблемой, всё держалось на честном слове. Писалось-то это разработчиками для разработчиков, а когда они вообще про безопасность сами задумываются?
После установки винды, первым делом отключай Защитник.
И да, очень много программистов сидят на Винде помимо Арча. Ведь другого Линукс же не существует. Кстати, я поставил monjaro Arch
Так винда охуенная. Ну, по сравнению с десктопными пингвинами. Я вообще хз, как может нравиться десктопный Линух. Не просто "хаха я поставил себе кучу приколов для рабочего стола и теперь у меня по экрану букавки зелёные сверху вниз катаются, прямо как в Матрице! Ну всё, я посмотрел на этот дистр, он у меня уже два дня стоит, пора искать новый", а вот именно работать на этом говне. Постоянно какие-то приколы, с которыми ты в винде просто не сталкиваешься.
Вот в голове у меня три причины этого:
1) твой комп - куплен в 2007 году в Эльдорадо, два-ядра-два-гига. И не потянет даже вин7
2) ты нереально топишь за онанимноздь, и не хочешь, чтоб Билл Гейтс подсматривал за тем, какое порно ты предпочитаешь
2.5) ты - ебанутый красноглазик, который хочет знать и контролировать каждый процесс в системе (ты же поставил дистр без systemd, правда?), чтоб каждый киловатт/час энергии, прошедший через твой ПеКа, был потрачен только на то, что тебе надо
3) ты работаешь в госе, и тебе насрали в рабочий комп десктопным Альтом, Ред ОС, или, прости Г-споди, Астра Линуксом.
Ну, типа, всё. Винда просто может не только всё то, что может Линух, она может даже больше ввиду большего инструментария.
Нет вы не понимаете, линукс лучше, он настраиваемый, ты можешь тысяча и одним способом, похреначить систему легким движением руки.
Ненавижу эту ебалу но приходиться на ней работать, слава богу дома у меня винда, единственная причина ЕДИНСТВЕННАЯ, это файловая система строгим реестром. А так крайне убогая и калечная система, с всратой "безопасностью". Из примеров: какой утырок вообще придумал запрещать окнам перехватывать фокус?! Мне пришлось руками отключать эту полезную "защиту" в gnom. Хочешь автоматическую смену раскладки? А нет ее! Последняя версия под 18 версию убунту. Хочешь аналог буфера обмена win+v? Держи с десяток кривых недопрограмм. Хочешь делать скриншоты и редактировать их на ходу? Ебись сначала с выдачей разрешения, на то что какая то программа хочет получить доступ, О УЖАС, к твоему экрану! Прокрутка на среднюю кнопку мыши? Отсутствует концептуально. Нормальное обновление программ? Что это? В половине случаев придется качать пакет с сайта и распаковывать его вручную. И десятки других мелочей.
Прям всю мою боль описал) С win + v нашел аналог diodon, но через пару недель это говно начало процессор на 100% грузить. Смена раскладки люто выбесила, она тормознутая. Часто после смены первая-две буквы были на предыдущем языке. Чтобы в 4к монитор что-то видеть, то нужно тонну говна в гугле перелопатить, чтобы найти наконец-то богом забытый пост на стаковерфлоу, где советуют поменять множитель шрифтов, потому что фрактал скейлинг в убунту дерьмище ебаное. С обновлениями че-то оно мне обновляло иногда, да так обновляло, что почтовый клиент и пару рабочих программ просто переставали запускаться, пока не перезагружусь. Думал лайфхак с выходом из пользователя провернуть, а оно при входе ошибку выбрасывало и все равно перезагружался) А последняя перезагрузка закончилась тем, что система не загружалась с ошибкой, че-то связанное с невозможностью маунта. Погуглил, это какая-то хуета с версией ядра. Хотел на другой версии ядра стартануть, а граб с 4к мониками не дружит и любое нажатие стрелочки или энтера 2 раза выполняется, из-за чего переходить по пунктам менюшки нереально. Это была последняя капля, пошел к админу, попросил винду накатить, ебал я в рот еще раз повестись на сказки, что линукс можно использовать как полноценную домашнюю ОС
так ты точно так же сможешь обезопасить систему, запустив процесс на виртуалке :) но...
виртуалку под каждую мелкую хуйню заводить - это жирно и затратно
Я про предпосылки. Виртуалки создавали для разных систем на одном компе. А контейнеры для разных процессов в одной системе. Просто так совпало, что в будущем они стали похожи.
Это как продуктовый магазин и почта. Они создавались для продажи продуктов и рассылки писем, а в итоге оба торгуют шампунями.
Виртуалки создавали для разных систем на одном компе. А контейнеры для разных процессов в одной системе.
Только LXC пораньше докера появился.
Так тут, если взять поезд заказчика, то работать как раз перестанет, потому что вся работа строится на строении поезда, а не путей)))
докер - это буквально изоляция говнокода в отдельную среду, т.е. "работает - не трогай!" доведено до максимума.
И если окажется, что этот говнокод еще и работает неправильно, то все - хрен починишь. Ну, как с exe-программами, когда при утере исходников уже ничего не поделаешь. А теперь exe-файл засунут в Docker.
На самом деле exe можно дизассемблировать, только вот современные компиляторы хорошо так гадят внутрь exe без учета насранности от ООП. Вариант попроще - "разработка" веб-страничек в Word, т.е. сохранить документ в HTML. Код HTML будет засран Word по полной, что породило отдельный мем и про "веб-дизайнеров в Word" в эпоху статических HTML, и истории про MS как Корпорацию Говна.
Как раз Гуглом, нахрена этот докер нужен. Что, ну вот что изменится на другой ОС, если программа написано кроссплатформенной, по всем спецификациям обеих ОС?
Ты не напишешь прогу которая будет работать и на Винде и на линуксе. Чтобы написать нужно скачать все необходимые инструменты, библиотеки, утилиты, скрипты и тд. Возможно что-то еще после этого установить. Система засоряется, может быть куча конфликтов процессов в системе из-за того что поставил разные сервисы.. А в докере ты все устанавливаешь что нужно, и тех версий что нужно. Запускаешь скрипты какие нужно, скачиваешь что нужно, настраиваешь систему как нужно и т.д. и все это делается внутри контейнера, который можно раздать всем и всех будет работать при соблюдении пары несложных требований.
Запускаешь везде, да. Проблема в том что у тебя система может быть сложнее одной программки на java. Если что-то простое - ставь у себя, если сложное и многоразовое, для разных систем возможно даже, то делай контейнер, а то засрешь всю систему.
Дак ставя контейнеры, в итоге и засрёшь всю систему, съев всю память, диск и ресурс процессора на контейнеры. Или вы что имели в виду под засиранием? Моё время явно дешевле новой оперативки стоит, я лучше нормально всё установлю на родную операционку.
Ладно, бог с ним, с замиранием. Давай другой момент разберем. Вот установил ты себе все что хотел. Как теперь то же самое сделать другому человеку?
Так а чем другой человек на моём месте от меня будет отличаться? Я ж как раз и пишу, ставя себя на место юзера. Нет, как вы себе любые программы на комп ставите? По-разному конечно, наверное, но уж вряд ли в списке проблем есть "о боже мой, срочно накатить чистую операционку ради этой программы"
Так про любой ПК, сервер не важно, мир айти вебом не ограничивается. Вообще-то я специально уточнил, что для меня не проблема установить любую версию программы на Линукс, зачем мне докер?
Я всё равно не понимаю проблем. Звучит как высланные из пальца сложности. "Ой, библиотека не той версии..." Так установи той, ты ж программист! Я вообще не понимаю, в чём разница написать apt install руками или в докер файле.
Докер как раз и нужен чтоб другие стороны не ебались версионосттю библиотек. Главный программист написал конфигурацию Докера, и все последующие звена не ебутся какой версии там библиотеки /вреймворки должны стоять
Вы внимательно прочитали комментарий? Я говорю, что не вижу разницы в сложности. В одном случае пишешь докер файл, в котором всё точно так же надо учесть, все версии, и не ошибиться. В другом случае инсталлишь, клацая команду в терминале. И в том и в другом случае надо знать версию библиотеки и не ошибиться. Какая разница, насколько главный программист?
Если нужен какой-то особый программист, не я, который за меня знает версию библиотеки, почему он не сказал мне эту версию как её устанавливать? Так-то ему всё равно придётся говорить мне что писать в докер файле.
Как систему которую ты настроил передать потом другому человеку, распространить? Ему сидеть потом по мануалу большому все устанавливать и кучу файлов в образ? Как будто бы такое себе. Говорить он про докер не будет. Он его сам пишет и создает образ. Отдает образ тебе и ты дальше делаешь с ним что хочешь. Можешь создать новый образ через докер файл, чтобы зафиксировать свои изменения. Может не делать и просто пользоваться тем что есть.
а тут раз и сайт, с которого качать что-то нужно, закрыли/переименовали/удалили или библиотеку отправили в архив/удалили, потому что по статистике разработчика библиотеки ею никто не пользуется или "переходите на новую версию, мы там как раз удалили нужные вам функции"
поэтому и распространяется готовый продукт, а не готовый набор команд
вот с этого и надо начинать, что там, докер это какой-то образ виртуалки, который вмещает в себя все установленные библиотеки? Тогда почему в докерфайлах всё равно пишут что-то типа "RUN apk add nginx", то есть ngnix всё равно придётся качать, хз какой версии, хз откуда, он не запекается в образ. Тогда зачем нужен был весь сыр-бор?
это пример плохой реализации, а причина её, предполагаю, в попытке сокращения объёма передаваемого контейнера (могу ошибаться)
Ниже написали зачем. Самая фишка в слоях. Что-то там внутри сконфигурировал и сохранил образ. Все он работает, его можно распространять. Потом кто нибудь взял образ и накатил еще функционала и сделал уже свой образ и его может распространять.
Я сам с докером почти незнаком, недавно начал баловаться чтобы изучить. И накатил сервер карт openstreetmap локально чтобы работал без сети. Там куча настроек и утилит ставится. И всем кто использует такой образ уже ничего не устанавливают - сервис готов, работает из коробки.
GeekNews
3.6K постов1.3K подписчиков
Правила сообщества
Бан за
- Оскорбления
- Спам