Серия Cloud Native: Контейнеры и Docker
Серия Cloud Native: Контейнеры и Docker

Область облачных технологий в последнее время находится в самом разгаре, так что же такое облачные технологии? Что такое облачное решение? Для чего используется Cloud Native? Сегодня старший поведет всех в эпоху облачных вычислений~~

Что такое облако?

Технологические изменения должны идти в первую очередь с мышлением.Cloud Native — этоКак создавать и запускать приложения,Это набор технической системы и методологии. Cloud Native — слово-портманто,Облако+Родной. Облако означает, что приложение находится в облаке.,Вместо традиционного центра обработки данных; Native означает, что приложение с самого начала разрабатывалось с учетом облачной среды.,Разработан специально для облака,Оптимальная работа в облаке,В полной мере используйте гибкость облачных платформ+Распределенное преимущество。Старший Е ЦюПонимание облачных технологий заключается в сокращении затрат и повышении эффективности.,Как показано ниже:

Редактировать

Что такое облачные приложения?

Старший Е Цю считает, что приложения, соответствующие облачной архитектуре, должны: использовать стеки с открытым исходным кодом (K8S+Docker) для контейнеризации, повышать гибкость и удобство обслуживания на основе микросервисной архитектуры, а также поддерживать непрерывную итерацию, а также автоматизацию эксплуатации и обслуживания с помощью agile. методы и DevOps, используя возможности облачной платформы для достижения эластичного масштабирования, динамического планирования и оптимизации использования ресурсов.

Что такое контейнеры и Docker?

Виртуализация и контейнеры

До появления контейнерных технологий наибольшим влиянием в отрасли были виртуальные машины. Представителями технологии виртуальных машин являются VMware и OpenStack. Многие люди использовали виртуальные машины, которые предназначены для установки программного обеспечения в операционную систему, а затем используют это программное обеспечение для моделирования одного или даже нескольких «субкомпьютеров». На «субкомпьютере» вы можете запускать такие программы, как WeChat и Word, как на обычном компьютере. «Субкомпьютер» и «субкомпьютер» изолированы друг от друга и не влияют друг на друга.

Хотя виртуальная машина может изолировать множество «субкомпьютеров», она занимает много места, медленно запускается, а программное обеспечение виртуальной машины может стоить денег (например, VMware). Контейнерная технология не имеет этих недостатков. Она не требует виртуализации всей операционной системы, а требует виртуализации только небольшой среды (похожей на «песочницу»). Время запуска очень быстрое и может быть выполнено в режиме «песочницы». несколько секунд. Более того, он очень эффективно использует ресурсы (один хост может одновременно запускать тысячи контейнеров Docker). Кроме того, он занимает очень мало места. Виртуальным машинам обычно требуется от нескольких до десятков ГБ места, тогда как контейнерам требуется только МБ или даже КБ. Виртуальные машины и контейнеры, представленные Docker, являются технологиями виртуализации, но контейнеры — это облегченная виртуализация. Вот основные сравнения между ними.

Редактировать

Происхождение Докера

Давайте еще раз взглянем на Docker. Docker сам по себе не является контейнером. Это инструмент для создания контейнеров и движок контейнеров приложений. Хотя Docker вывел контейнерную технологию на пик своего развития, контейнерная технология не была изобретена Docker. На самом деле контейнерная технология даже не является новой технологией, поскольку ее зарождение и использование существуют уже несколько лет. Например, самый ранний контейнер LXC был выпущен в 2008 году. Изначально Docker был PaaS-компанией, первоначально называвшейся DotCloud, основанной в 2010 году. Однако по сравнению с такими известными компаниями, как Pivotal и Red Hat, операции DotCloud не являются успешными. Когда проект был на грани провала, DotCloud в 2013 году решила открыть исходный код своего собственного контейнерного проекта Docker. Но всего за несколько месяцев Docker быстро появился и привлек к своему использованию большое количество разработчиков. Поскольку Docker становился все более популярным среди разработчиков, DotCloud официально сменила название на Docker в октябре 2013 года. В августе 2014 года Docker объявила о продаже своего бизнеса PaaS и начала концентрироваться на Docker. Слово Docker означает докер, а его логотип — кит, держащий множество контейнеров, что очень ярко: Docker — это кит, а контейнеры — это контейнеры. На официальном сайте Docker есть объяснение контейнеров в одно предложение: «Стандартизированная единица программного обеспечения», то есть «стандартизированная единица программного обеспечения».

Основные понятия Docker

Три основные концепции технологии Docker:

• Изображение

• Контейнер

• Репозиторий

В приведенном выше примере разработанный шаблон — это образ Docker, произведенный (скопированный) компонент — контейнер Docker, а склад Docker — это место, где образы Docker централизованно размещаются и управляются.

Образ Docker — это особая файловая система. Помимо предоставления программ, библиотек, ресурсов, конфигурации и других файлов, необходимых для среды выполнения контейнера, он также содержит некоторые параметры конфигурации (например, переменные среды), подготовленные для среды выполнения. Изображение не содержит никаких динамических данных, и его содержимое не будет изменено после создания.

Каждый шаблон (зеркало) может создавать компонент, но шаблоны могут быть разработаны разными дизайнерами для обеспечения различных целей и стилей, таких как наклонные балконы, утопленные балконы, стиль Баухаус, стили Мондриана и т. д., которые могут использоваться всеми, образуя большой общественный склад.

Docker официально предоставляет Docker Hub для обслуживания и управления всеми образами, но для бесплатных пользователей можно создать только одно частное хранилище. Docker Hub предоставляет большое количество высококачественных официальных образов, таких как Oracle, MySQL, redis, Ubuntu, Nginx, python, Docker (Docker в Docker!) и т. д. Когда разработчикам нужна среда, они могут перейти непосредственно к Docker. Хранилище изображений Найдите и сократите массу ненужной работы по установке среды.

Преимущества Докера

Docker приносит нам много преимуществ. Вот некоторые из них:

• Более эффективное использование системных ресурсов.

С Докером,Мы можем запускать множество приложений на одном сервере,Полностью используйте аппаратные ресурсы. Например, теперь у нас есть Linux-сервер,Различные версии образов Ubuntu могут быть собраны и запущены.,И назначайте разные контейнеры разным пользователям. Таким образом, один сервер можно использовать для виртуализации множества виртуальных серверов под управлением разных операционных систем.,И для пользователей,Все это прозрачно. Многие публичные облака используют контейнерную технологию для предоставления услуг пользователям.,так Виртуализация и контейнеры вместе стали краеугольным камнем современных облачных вычислений.

• Более быстрое время запуска

Традиционная технология виртуальных машин часто требует нескольких минут для запуска служб приложений. Однако приложения-контейнеры Docker запускаются непосредственно в ядре хоста и не требуют запуска всей операционной системы. Поэтому они могут запускаться за секунды или даже миллисекунды, что существенно экономит. время разработки, время тестирования и развертывания.

• Обеспечить экологическую стабильность

Одной из распространенных проблем в процессе разработки является согласованность среды. Из-за несоответствия среды разработки, тестовой среды и производственной среды некоторые ошибки не обнаруживаются в процессе разработки. Образы Docker обеспечивают полную среду выполнения, за исключением ядра. Среда обеспечивает согласованность среды выполнения приложения. Больше не будет ситуации, когда приложение нормально работает в автономной среде разработки, но имеет различные ошибки при развертывании в Интернете.

• Непрерывная доставка и развертывание.

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

• Упрощенная миграция

Поскольку Docker обеспечивает согласованность среды выполнения, он упрощает миграцию приложений. Docker может работать на многих платформах, будь то физическая машина, виртуальная машина, общедоступное или частное облако. Результаты работы являются согласованными. пользователи могут легко переносить приложения, работающие с одной платформы, на другую, не беспокоясь об изменениях в операционной среде, которые могут привести к сбою правильной работы приложения.

• Улучшите возможность повторного использования, уменьшите связанность и упростите обслуживание и расширение.

Технология многоуровневого хранения и зеркалирования, используемая Docker, упрощает повторное использование повторяющихся частей приложений, а также упрощает обслуживание и обновление приложений. Также очень просто дополнительно расширить зеркало на основе базового зеркала. После установки Docker мы можем получить различные образы операционной системы из Docker Hub. Эта операция очень проста. Нам нужно только локально загрузить соответствующий образ и запустить его. Кроме того, мы можем запускать базу данных, веб-сервер и сервер кэша в разных контейнерах, что уменьшает связь между различными сервисами и облегчает расширение. В Docker Hub есть различные отличные образы, которые мы можем использовать напрямую. Нет необходимости создавать их самостоятельно. , развертывание приложений так же просто, как строительные блоки.

• Внедрить механизм песочницы для повышения безопасности.

Поскольку приложение работает в контейнере и изолировано от операционной системы, повреждение операционной системы практически невозможно. Кроме того, если приложение парализовано из-за атаки, нет необходимости перезапускать сервер. Достаточно перезапустить контейнер или запустить другой образ.

Контейнеры и микросервисы

Контейнеры — лучший носитель реализации микросервисов и облачной архитектуры. Микросервисы и контейнеры — почти идеальное сочетание. Монолитная архитектура (Monolithic) становится архитектурой микросервисов (Microservices), что эквивалентно преобразованию универсального типа в N типов специального назначения. Каждому типу специального назначения назначается изолированный контейнер, что обеспечивает максимальную гибкость.

Редактировать

На этом общение в этом выпуске заканчивается. Следуйте за блоггерами, чтобы не заблудиться. Старший Е Цю проведет вас по шоссе~~~.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose