Как стать автором
Обновить

Комментарии 30

Это серия из двух постов (точнее, конечно, их переводы), написанных в конце 2016 и начале 2017 года, а в мире Docker-а события меняются быстро. Основные претензии оригинального автора приведены в первом посте, здесь как бы завершение истории — так, как он сам ее воспринимает.
Классика жанра, люди заиспользовали докер так, как его не рекомендуют юзать, отгребли, а теперь докер говно. Напоминает попытку вылечить геморрой пинком под зад.
Интересно, а где он мог найти мануал, как точно делать, чтобы 100% работало? Думаю, в американском пенсионном фонде ссылка уже не нужна, а вот здесь, на хабре, пригодилась бы.
Что касается системы — ответ Вам дал relgames ранее, что касается самих контейнеров и билда их, бэстпрактикс — их уже уйма.

Докер на разных проектах с 1.7 версии, системы были debian/ubuntu/gentoo (Слава Богу, Centos миновал). В контейнерах микросервисы (да те что по парадигме 12 факторов, во всяком случаи по-максимому пытаются этой парадигме следовать, которые прекрано работают в докер контейнерах. Пихать стэйтфул в докер и пытаться писать в последний слой фс или еще какое-то извращени — хватило ума так не делать, это посыл к прошлой статье кстати) писаные на java, go, nodejs. На одном проекте был хороший pps по сети, да там активно использовался net:host.
Ни одного конкретного примера.

Из проблем с которыми сталкивался лично на debian 8:


  1. Kernel panic на linux 3.16 в aufs (вылечилось переходом на 4.9 и overlayfs).
  2. Иногда, после обновления ядра и перезагрузки сервера, docker отказывался запускать контейнеры. В логе ошибка, что контейнер с таким именем уже есть (хотя его нет). Полное удаление /var/lib/docker и перезагрузка никак не помогала. Спасал только откат на предыдущую версия ядра. В какой-то версии докера этот баг пофиксили.

Из недавнего: если запустить параллельно 10-20 docker pull на один и тот же образ, то скачанный образ может оказаться поврежденным.

Про примеры автор пишет вполне понятно: он уже забыл тему, как страшный сон, и заново собирать стенды вовсе не планирует. Но достаточно большое число эмоций в первом посте автора наводят на мысль, что тесты они все же делали, и делали серьезно.

А ваш опыт заставляет вздрогнуть. И это в восьмерке, на которую так надеялся автор оригинального поста!
Да, мы тоже сталкивались (и сталкиваемся) с проблемами, например, docker stop иногда вешает контейнеры. Проблема в том, что у нас своя конфигурация, а не рекомендованная.

Мы попробовали CentOS 7.3 и последний Docker на devicemapper, работает отлично.
Думаю, по прошествии некоторого времени и автор поста смог бы найти (с какой-то попытки) работающую комбинацию. Но на момент его тестов (притом что в то время Докер уже использовался им в проде) на его взгляд стабильных решений то ли еще не существовало, то ли ему не получилось её найти.
Приведенная вами ссылка тут уже упоминалась в комментариях. Однако была ли она доступна автору оригинального поста во время его злоключений — не берусь сказать, думаю, что нет.
Я так понимаю, что рассмотрены только варианты что-бы оно работало «из коробки»? Варианты со сборкой нужного ядра для хоста и ручной установкой всех нужных утилит не рассматриваются?
Думаю, автор оригинального поста именно об этом полпоста и писал: что на продакшене, где цена простоя высока, он привык видеть стабильные решения, а, по его стандартам, вариант «взять свежую версию ядра и собрать самому» к таковым не относятся.

По сути, да, его вопросы легко сводятся к «когда же в дистирибутивах появится надежная, из коробки работающая поддержка докера, а в докере — надежная же поддержка этих дистрибутивов?!»
Вопрос в том — зачем? Ведь докер говорит о том, что должно работать одинаково на всех системах. Build, Ship, and Run Any App, Anywhere
Судя по полученным автором результатом, верить словам докера по меньшей мере неосмотрительно. Даже описанная в посте чехарда с невозможностью правильно определить, какое ядро в системе (пункт про Centos/RHEL7), и должным образом настроиться под него «дорого» стоят в реальной жизни. В смысле нервов админов, конечно.
Я бы поверил скорее в то (и принял), что пусть под одной системой, но работает железобетонно, чем под всеми, но под частью даже инсталлер лажается.
Согласен. Но учитывая, что докер построен вокруг именно такой идеологии, то в случае с одной системой его выгода сомнительна.

Дочитал внимательно до места, где описывается невозможность использования Docker под Ubuntu а продакшне, а дальше уже по диагонали. Можете считать меня тем самым любителем в классификации, но Docker под Ubuntu прекрасно работает несколько лет на десятке очень разнородных машин (от выделенных серверов до копеечных VPS) и сотне контейнеров. При чём я, как раз, не гонюсь за новыми версиями. Вот, буквально вчера обнаружил, что на одной из машин docker-compose даже не поддерживает ключик -f в команде logs :) И до сих пор не сталкивался с проблемами docker. Хотя, конечно, может, мне просто так везло :)

Кто-то умеет готовить кошку, кто-то нет… Однако автор, даже если считать его "знатным троллем", показывает (особенно в первом посте) некоторый методичный и достаточно системный подход. А уж его желание работать со стабильной ОС и не пионерить понапрасну достойно всякого уважения, как по мне.

Kubernetes хорошо, а Docker плохо. Но Kubernetes использует Docker. Как так?
Ответ, видимо, сводится к мысли автора, что не контейнеры плохи как концепция, а именно докер (одна из реализация контенеризации) как инструмент не дотягивает до нужного уровня надежности. Оркестрация же не чудо, а просто хорошее управление чем-то, но это что-то должно правильно и надежно реагировать на сигналы системы управления.
«есть 10 типа людей», а не «10 типов», если вы имеете в виду бинарную систему счисления.
Тогда теряется многозначность при чтении. И, если уж говорить в русле поста (где автор, по большей части, рассказывает, как его учили жить), предвижу поток комментов «У вас написано есть 10 типа людей, а по-русски согласовывается как 10 типов».
Немного изменил предложение, возможно, теперь получше.
Обычно в таком случае я пишу «Всего типов людей 10». Можно прочитать и как 2, и как 10.
> Если вы любите играть с огнем, то эта ОС, похоже, для вас!

Вы пишете о Докере, а потом говорите что что-то не так с CentOS/RHEL 7? Что же с ним не так?
Автор оригинального поста, полагаю, сильно изумился бы вопросу. Докер — не самодостаточная программа, а некий механизм, управляющий возможностями, предоставляемыми ОСью. Если Докер никак не может понять, как это делать в RHEL7, то, похоже, Докер не может показать устойчивый детектинг (почему — в тексте рассказано), притом не то чтобы всегда не может, а нет уверенности, что при обновлении ОС (в т.ч. ядра) ничего не сломается, т.к. обещаний от авторов Докера не было никаких.
Как вариант, Докер мог не заявлять CentOS/RHEL 7 в списке поддерживаемых.

Этой статье ГОД. Неужели в отрасли нет изменений за год?

Отличный комментарий! Безусловно, есть изменения. Вот только автор год назад ушел в американский пенсионный фонд, где никакой Docker его, верно, не потревожит, буквально до пенсии.

Ну так зачем тревожить его покой? Его точка зрения устарела на год. Тем более непонятно для какого использования его рекомендации и выводы.

Скажите, вы кого пытаетесь жить учить: автора, переводчика, авторов Докера, сам ход истории? А для пущей точности: текст, особенно вступление, читали — там как раз предупреждается о том, что вы заметили. Текст же интересен именно в разрезе исторического развития ситуации (причем, первая его часть даже более).

Вы правы, я зря написал. achekalin, Прошу прощения

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории