День 2086. #Docker
Развенчиваем Мифы о Docker. Начало
В 2013м Docker произвёл революцию, представив портативную, удобную для пользователя платформу контейнеров, получившую широкое распространение. Хотя Docker Desktop является ведущим инструментом для создания контейнеризированных приложений, Docker по-прежнему окружён многочисленными заблуждениями. В этой серии развенчаем главные мифы о Docker и рассмотрим его возможности и преимущества.
Миф 1: Docker больше не является продуктом с открытым кодом
Docker состоит из нескольких компонентов, большинство из которых являются продуктами с открытым кодом. Основной Docker Engine и другие важные части экосистемы Docker, такие как Docker CLI и Docker Compose, остаются продуктами с открытым кодом.
В 2017 году из тогдашней монолитной кодовой базы Docker был выделен проект Moby, чтобы предоставить набор «строительных блоков» для создания контейнерных решений и платформ. Docker использует Moby для бесплатного проекта Docker Engine и коммерческого Docker Desktop.
Пользователи также могут найти проверенный контент с открытым кодом на Docker Hub: спонсируемые Docker образы и официальные образы Docker.
Миф 2: Docker-контейнеры — это виртуальные машины
Docker-контейнеры часто ошибочно принимают за виртуальные машины (VM), но эти технологии работают совершенно по-разному. В отличие от VM, Docker-контейнеры не включают в себя всю операционную систему. Они совместно используют ядро операционной системы хоста, что делает их более лёгкими и эффективными. Для виртуальных машин требуется гипервизор для создания виртуального оборудования для гостевой ОС, что приводит к значительным накладным расходам. Docker упаковывает только приложение и его зависимости.
Docker-контейнеры в целом используют меньше ресурсов, чем виртуальные машины, которым требуются значительные ресурсы для одновременного запуска нескольких операционных систем. Docker эффективно запускает множество изолированных приложений на одном хосте, оптимизируя инфраструктуру и рабочие процессы.
Однако при работе на системах, отличных от Linux, Docker должен эмулировать среду Linux. Например, Docker Desktop использует полностью управляемую виртуальную машину для обеспечения единообразной работы в Windows, Mac и Linux, запуская свои компоненты Linux внутри этой виртуальной машины.
Миф 3: Docker Engine, Docker Desktop и Docker Enterprise Edition — одно и то же
Значительная путаница окружает различные доступные варианты Docker, которые включают в себя:
- Mirantis Container Runtime
Docker Enterprise Edition (Docker EE) был продан Mirantis в 2019 году и переименован в Mirantis Container Runtime. Это платное ПО предназначено для развёртывания производственных контейнеров и предлагает легкую альтернативу существующим инструментам оркестровки.
- Docker Engine
Полностью открытая версия, созданная на основе проекта Moby, предоставляющая Docker Engine и CLI.
- Docker Desktop
Коммерческое ПО, продаваемое Docker, которое объединяет Docker Engine с дополнительными функциями для повышения производительности разработчиков. Подписка Docker Business включает расширенные функции безопасности и управления для предприятий.
Эти варианты отличаются в основном функциями и возможностями. Docker Engine обслуживает сообщество разработчиков с открытым кодом, Docker Desktop улучшает рабочие процессы разработчиков с помощью комплексного набора инструментов для создания и масштабирования приложений, а Mirantis Container Runtime предоставляет специализированное решение для корпоративных производственных сред с расширенным управлением и поддержкой.
Продолжение следует…
Источник: https://www.docker.com/blog/docker-myths-debunked/
Развенчиваем Мифы о Docker. Начало
В 2013м Docker произвёл революцию, представив портативную, удобную для пользователя платформу контейнеров, получившую широкое распространение. Хотя Docker Desktop является ведущим инструментом для создания контейнеризированных приложений, Docker по-прежнему окружён многочисленными заблуждениями. В этой серии развенчаем главные мифы о Docker и рассмотрим его возможности и преимущества.
Миф 1: Docker больше не является продуктом с открытым кодом
Docker состоит из нескольких компонентов, большинство из которых являются продуктами с открытым кодом. Основной Docker Engine и другие важные части экосистемы Docker, такие как Docker CLI и Docker Compose, остаются продуктами с открытым кодом.
В 2017 году из тогдашней монолитной кодовой базы Docker был выделен проект Moby, чтобы предоставить набор «строительных блоков» для создания контейнерных решений и платформ. Docker использует Moby для бесплатного проекта Docker Engine и коммерческого Docker Desktop.
Пользователи также могут найти проверенный контент с открытым кодом на Docker Hub: спонсируемые Docker образы и официальные образы Docker.
Миф 2: Docker-контейнеры — это виртуальные машины
Docker-контейнеры часто ошибочно принимают за виртуальные машины (VM), но эти технологии работают совершенно по-разному. В отличие от VM, Docker-контейнеры не включают в себя всю операционную систему. Они совместно используют ядро операционной системы хоста, что делает их более лёгкими и эффективными. Для виртуальных машин требуется гипервизор для создания виртуального оборудования для гостевой ОС, что приводит к значительным накладным расходам. Docker упаковывает только приложение и его зависимости.
Docker-контейнеры в целом используют меньше ресурсов, чем виртуальные машины, которым требуются значительные ресурсы для одновременного запуска нескольких операционных систем. Docker эффективно запускает множество изолированных приложений на одном хосте, оптимизируя инфраструктуру и рабочие процессы.
Однако при работе на системах, отличных от Linux, Docker должен эмулировать среду Linux. Например, Docker Desktop использует полностью управляемую виртуальную машину для обеспечения единообразной работы в Windows, Mac и Linux, запуская свои компоненты Linux внутри этой виртуальной машины.
Миф 3: Docker Engine, Docker Desktop и Docker Enterprise Edition — одно и то же
Значительная путаница окружает различные доступные варианты Docker, которые включают в себя:
- Mirantis Container Runtime
Docker Enterprise Edition (Docker EE) был продан Mirantis в 2019 году и переименован в Mirantis Container Runtime. Это платное ПО предназначено для развёртывания производственных контейнеров и предлагает легкую альтернативу существующим инструментам оркестровки.
- Docker Engine
Полностью открытая версия, созданная на основе проекта Moby, предоставляющая Docker Engine и CLI.
- Docker Desktop
Коммерческое ПО, продаваемое Docker, которое объединяет Docker Engine с дополнительными функциями для повышения производительности разработчиков. Подписка Docker Business включает расширенные функции безопасности и управления для предприятий.
Эти варианты отличаются в основном функциями и возможностями. Docker Engine обслуживает сообщество разработчиков с открытым кодом, Docker Desktop улучшает рабочие процессы разработчиков с помощью комплексного набора инструментов для создания и масштабирования приложений, а Mirantis Container Runtime предоставляет специализированное решение для корпоративных производственных сред с расширенным управлением и поддержкой.
Продолжение следует…
Источник: https://www.docker.com/blog/docker-myths-debunked/
👍12
День 2087. #Docker
Развенчиваем Мифы о Docker. Продолжение
Начало
Миф 4: Docker — то же самое, что Kubernetes
Этот миф возникает из-за того, что и Docker, и Kubernetes связаны с контейнеризированными средами. Но они выполняют разные роли.
Kubernetes (K8s) — система оркестровки для управления экземплярами контейнеров в масштабе. Он автоматизирует развёртывание, масштабирование и эксплуатацию нескольких контейнеров в кластерах хостов. Другие технологии оркестровки включают Nomad, бессерверные фреймворки, режим Swarm в Docker и Apache Mesos. Каждая из них предлагает различные функции для управления контейнеризированными рабочими нагрузками.
Docker — в первую очередь платформа для разработки, доставки и запуска контейнеризированных приложений. Она фокусируется на упаковке приложений и их зависимостей в переносимый контейнер и часто используется для локальной разработки, где масштабирование не требуется. Docker Desktop включает Docker Compose, который предназначен для локального оркестрования многоконтейнерных развёртываний.
Во многих организациях Docker используется для разработки приложений, а полученные образы Docker затем развёртываются в Kubernetes для производства. Для поддержки этого рабочего процесса Docker Desktop включает встроенную установку Kubernetes и инструмент Compose Bridge для перевода формата Compose в код для Kubernetes.
Миф 5: Docker не безопасен
Такое убеждение часто возникает из-за недопонимания того, как реализована безопасность в Docker. Чтобы помочь снизить уязвимости безопасности Docker предлагает следующие меры:
- Конфигурация безопасности по выбору
За исключением нескольких компонентов, Docker работает на основе добровольного включения безопасности. Такой подход устраняет помехи для новых пользователей, но означает, что Docker все равно можно настроить для большей безопасности с точки зрения корпоративных требований и для пользователей, заботящихся о безопасности и имеющих конфиденциальные данные.
- Возможности режима «Rootless»
Docker Engine может работать в режиме rootless, в котором демон Docker работает без прав root. Это уменьшает потенциальный радиус поражения вредоносного кода, покидающего контейнер и получающего права root на хосте. Docker Desktop также предлагает улучшенную изоляцию контейнера (ECI).
- Встроенные функции безопасности
Также Docker включает встроенные функции, такие как пространства имен, группы управления (cgroups) и профили seccomp, которые обеспечивают изоляцию и ограничивают возможности контейнеров.
- Аттестация SOC 2 Type 2 и сертификация ISO 27001
Как инструмент с открытым исходным кодом Docker Engine не подпадает под эти сертификации. Они относятся к платным продуктам Docker, Inc., которые предлагают дополнительные функции безопасности корпоративного уровня.
Docker также предоставляет документацию и учебные материалы, призванные помочь пользователям научиться эффективно защищать свои контейнеры.
Миф 6: Docker мёртв
Этот миф проистекает из быстрого роста и изменений в экосистеме контейнеров за последнее десятилетие. Docker активно разрабатывается и также широко применяется. Docker Hub - одно из крупнейших в мире хранилищ образов контейнеров.
С развитием науки о данных и AI/ML образы Docker облегчают обмен моделями и приложениями, и поддерживаются возможностями рабочей нагрузки GPU в Docker Desktop. Кроме того, Docker широко используется для быстрого и экономически эффективного макетирования тестовых сценариев в качестве альтернативы развёртыванию реального оборудования или виртуальных машин.
Окончание следует…
Источник: https://www.docker.com/blog/docker-myths-debunked/
Развенчиваем Мифы о Docker. Продолжение
Начало
Миф 4: Docker — то же самое, что Kubernetes
Этот миф возникает из-за того, что и Docker, и Kubernetes связаны с контейнеризированными средами. Но они выполняют разные роли.
Kubernetes (K8s) — система оркестровки для управления экземплярами контейнеров в масштабе. Он автоматизирует развёртывание, масштабирование и эксплуатацию нескольких контейнеров в кластерах хостов. Другие технологии оркестровки включают Nomad, бессерверные фреймворки, режим Swarm в Docker и Apache Mesos. Каждая из них предлагает различные функции для управления контейнеризированными рабочими нагрузками.
Docker — в первую очередь платформа для разработки, доставки и запуска контейнеризированных приложений. Она фокусируется на упаковке приложений и их зависимостей в переносимый контейнер и часто используется для локальной разработки, где масштабирование не требуется. Docker Desktop включает Docker Compose, который предназначен для локального оркестрования многоконтейнерных развёртываний.
Во многих организациях Docker используется для разработки приложений, а полученные образы Docker затем развёртываются в Kubernetes для производства. Для поддержки этого рабочего процесса Docker Desktop включает встроенную установку Kubernetes и инструмент Compose Bridge для перевода формата Compose в код для Kubernetes.
Миф 5: Docker не безопасен
Такое убеждение часто возникает из-за недопонимания того, как реализована безопасность в Docker. Чтобы помочь снизить уязвимости безопасности Docker предлагает следующие меры:
- Конфигурация безопасности по выбору
За исключением нескольких компонентов, Docker работает на основе добровольного включения безопасности. Такой подход устраняет помехи для новых пользователей, но означает, что Docker все равно можно настроить для большей безопасности с точки зрения корпоративных требований и для пользователей, заботящихся о безопасности и имеющих конфиденциальные данные.
- Возможности режима «Rootless»
Docker Engine может работать в режиме rootless, в котором демон Docker работает без прав root. Это уменьшает потенциальный радиус поражения вредоносного кода, покидающего контейнер и получающего права root на хосте. Docker Desktop также предлагает улучшенную изоляцию контейнера (ECI).
- Встроенные функции безопасности
Также Docker включает встроенные функции, такие как пространства имен, группы управления (cgroups) и профили seccomp, которые обеспечивают изоляцию и ограничивают возможности контейнеров.
- Аттестация SOC 2 Type 2 и сертификация ISO 27001
Как инструмент с открытым исходным кодом Docker Engine не подпадает под эти сертификации. Они относятся к платным продуктам Docker, Inc., которые предлагают дополнительные функции безопасности корпоративного уровня.
Docker также предоставляет документацию и учебные материалы, призванные помочь пользователям научиться эффективно защищать свои контейнеры.
Миф 6: Docker мёртв
Этот миф проистекает из быстрого роста и изменений в экосистеме контейнеров за последнее десятилетие. Docker активно разрабатывается и также широко применяется. Docker Hub - одно из крупнейших в мире хранилищ образов контейнеров.
С развитием науки о данных и AI/ML образы Docker облегчают обмен моделями и приложениями, и поддерживаются возможностями рабочей нагрузки GPU в Docker Desktop. Кроме того, Docker широко используется для быстрого и экономически эффективного макетирования тестовых сценариев в качестве альтернативы развёртыванию реального оборудования или виртуальных машин.
Окончание следует…
Источник: https://www.docker.com/blog/docker-myths-debunked/
👍9
День 2088. #Docker
Развенчиваем Мифы о Docker. Окончание
Начало
Продолжение
Миф 7: Docker сложно изучить
Такое мнение часто возникает из-за предполагаемой сложности концепций контейнеров и многочисленных функций Docker. Однако Docker является популярной технологией, используемой более чем 20 миллионами разработчиков по всему миру, и доступно бесчисленное множество ресурсов, чтобы сделать изучение Docker доступным.
Docker, Inc. стремится создавать интуитивно понятный и удобный дизайн для Docker Desktop и вспомогательных продуктов. Документация, семинары, тренинги, руководства и примеры доступны на сайте Docker Desktop, в блогах, а также в подписках на новости. А курсы Udemy, созданные совместно с Docker, помогают новым пользователям понять контейнеризацию и использование Docker.
Миф № 8: Docker и контейнеры предназначены только для разработчиков
Docker и контейнеры используются в различных областях, помимо разработки:
- Data science
Docker предоставляет согласованные среды, позволяя специалистам по данным беспрепятственно обмениваться моделями, наборами данных и настройками разработки.
- Здравоохранение
Docker развёртывает масштабируемые приложения для управления данными пациентов и запуска симуляций, таких как ПО для медицинской визуализации, в различных больничных системах.
- Образование
Преподаватели и студенты используют Docker для создания воспроизводимых «песочниц», которые облегчают совместную работу и упрощают настройки проектов кодирования.
Универсальность Docker выходит за рамки разработки, предоставляя согласованные, масштабируемые и безопасные среды для различных приложений.
Миф № 9: Docker Desktop — всего лишь графический интерфейс
Этот миф игнорирует его обширные функции, разработанные для улучшения опыта разработчиков, упрощения управления контейнерами и повышения производительности:
- Поддержка кроссплатформенности
Docker работает на базе Linux, но большинство рабочих станций разработчиков работают под управлением Windows или macOS. Docker Desktop позволяет этим платформам запускать инструменты Docker внутри полностью управляемой виртуальной машины, интегрированной с сетями, файловой системой и ресурсами хост-системы.
- Инструменты разработчика
Встроенные Kubernetes, Docker Scout для управления цепочкой поставок, Docker Build Cloud для более быстрой сборки и Docker Debug для отладки контейнеров.
- Безопасность и управление
Для администраторов Docker Desktop предлагает управление доступом к реестру и к образам, улучшенную изоляцию контейнеров, единый вход (SSO) для авторизации и управление настройками, и т.д.
Миф 10: Контейнеры предназначены только для микросервисов
Контейнеры популярны для архитектур микросервисов, но их можно использовать для любого типа приложений. Монолитные приложения можно контейнеризировать, что позволяет изолировать их и их зависимости в образ с версиями, которые могут работать в разных средах. Это позволяет при желании проводить постепенный рефакторинг в микросервисы.
Кроме того, Docker отлично подходит для быстрого прототипирования, позволяя быстро развёртывать минимально жизнеспособные продукты (MVP). Контейнеризованные прототипы проще в управлении и рефакторинге по сравнению с теми, которые развёрнуты на виртуальных машинах или на голом железе.
Итого
Docker может значительно повысить производительность, масштабируемость и безопасность для различных вариантов использования. Универсальность Docker в сочетании с обширными учебными ресурсами и надёжными функциями безопасности делает его незаменимым инструментом в современной разработке и развёртывании ПО.
Источник: https://www.docker.com/blog/docker-myths-debunked/
Развенчиваем Мифы о Docker. Окончание
Начало
Продолжение
Миф 7: Docker сложно изучить
Такое мнение часто возникает из-за предполагаемой сложности концепций контейнеров и многочисленных функций Docker. Однако Docker является популярной технологией, используемой более чем 20 миллионами разработчиков по всему миру, и доступно бесчисленное множество ресурсов, чтобы сделать изучение Docker доступным.
Docker, Inc. стремится создавать интуитивно понятный и удобный дизайн для Docker Desktop и вспомогательных продуктов. Документация, семинары, тренинги, руководства и примеры доступны на сайте Docker Desktop, в блогах, а также в подписках на новости. А курсы Udemy, созданные совместно с Docker, помогают новым пользователям понять контейнеризацию и использование Docker.
Миф № 8: Docker и контейнеры предназначены только для разработчиков
Docker и контейнеры используются в различных областях, помимо разработки:
- Data science
Docker предоставляет согласованные среды, позволяя специалистам по данным беспрепятственно обмениваться моделями, наборами данных и настройками разработки.
- Здравоохранение
Docker развёртывает масштабируемые приложения для управления данными пациентов и запуска симуляций, таких как ПО для медицинской визуализации, в различных больничных системах.
- Образование
Преподаватели и студенты используют Docker для создания воспроизводимых «песочниц», которые облегчают совместную работу и упрощают настройки проектов кодирования.
Универсальность Docker выходит за рамки разработки, предоставляя согласованные, масштабируемые и безопасные среды для различных приложений.
Миф № 9: Docker Desktop — всего лишь графический интерфейс
Этот миф игнорирует его обширные функции, разработанные для улучшения опыта разработчиков, упрощения управления контейнерами и повышения производительности:
- Поддержка кроссплатформенности
Docker работает на базе Linux, но большинство рабочих станций разработчиков работают под управлением Windows или macOS. Docker Desktop позволяет этим платформам запускать инструменты Docker внутри полностью управляемой виртуальной машины, интегрированной с сетями, файловой системой и ресурсами хост-системы.
- Инструменты разработчика
Встроенные Kubernetes, Docker Scout для управления цепочкой поставок, Docker Build Cloud для более быстрой сборки и Docker Debug для отладки контейнеров.
- Безопасность и управление
Для администраторов Docker Desktop предлагает управление доступом к реестру и к образам, улучшенную изоляцию контейнеров, единый вход (SSO) для авторизации и управление настройками, и т.д.
Миф 10: Контейнеры предназначены только для микросервисов
Контейнеры популярны для архитектур микросервисов, но их можно использовать для любого типа приложений. Монолитные приложения можно контейнеризировать, что позволяет изолировать их и их зависимости в образ с версиями, которые могут работать в разных средах. Это позволяет при желании проводить постепенный рефакторинг в микросервисы.
Кроме того, Docker отлично подходит для быстрого прототипирования, позволяя быстро развёртывать минимально жизнеспособные продукты (MVP). Контейнеризованные прототипы проще в управлении и рефакторинге по сравнению с теми, которые развёрнуты на виртуальных машинах или на голом железе.
Итого
Docker может значительно повысить производительность, масштабируемость и безопасность для различных вариантов использования. Универсальность Docker в сочетании с обширными учебными ресурсами и надёжными функциями безопасности делает его незаменимым инструментом в современной разработке и развёртывании ПО.
Источник: https://www.docker.com/blog/docker-myths-debunked/
👍15
День 2419. #SystemDesign101 #Docker
9 Рекомендаций по Docker, Которые Стоит Знать
1. Используйте официальные образы
Это обеспечивает безопасность, надежность и регулярные обновления.
2. Используйте конкретную версию образа
Тег по умолчанию (latest) непредсказуем и приводит к непредвиденному поведению.
3. Многоэтапные сборки
Уменьшает размер конечного образа за счет исключения инструментов сборки и зависимостей.
4. Используйте .dockerignore
Исключает ненужные файлы, ускоряет сборку и уменьшает размер образа.
5. Используйте пользователя с минимальными привилегиями
Повышает безопасность за счёт ограничения привилегий контейнера.
6. Используйте переменные окружения
Повышает гибкость и переносимость в различных средах.
7. Упорядочивайте задачи для кэширования
Упорядочивайте шаги от наименее к наиболее часто изменяемым для оптимизации кэширования.
8. Маркируйте образы
Это улучшает организацию и помогает в управлении образами.
9. Сканируйте образы
Находите уязвимости безопасности, прежде чем они станут серьезными проблемами.
Источник: https://blog.bytebytego.com
9 Рекомендаций по Docker, Которые Стоит Знать
1. Используйте официальные образы
Это обеспечивает безопасность, надежность и регулярные обновления.
2. Используйте конкретную версию образа
Тег по умолчанию (latest) непредсказуем и приводит к непредвиденному поведению.
3. Многоэтапные сборки
Уменьшает размер конечного образа за счет исключения инструментов сборки и зависимостей.
4. Используйте .dockerignore
Исключает ненужные файлы, ускоряет сборку и уменьшает размер образа.
5. Используйте пользователя с минимальными привилегиями
Повышает безопасность за счёт ограничения привилегий контейнера.
6. Используйте переменные окружения
Повышает гибкость и переносимость в различных средах.
7. Упорядочивайте задачи для кэширования
Упорядочивайте шаги от наименее к наиболее часто изменяемым для оптимизации кэширования.
8. Маркируйте образы
Это улучшает организацию и помогает в управлении образами.
9. Сканируйте образы
Находите уязвимости безопасности, прежде чем они станут серьезными проблемами.
Источник: https://blog.bytebytego.com
👍14