Скорее всего, вы уже знаете, что такое Docker, может быть, вы уже работали с ним некоторое время, или вы только что начали. В любом случае, вы, вероятно, не хотели бы вернуться. Таким образом, для тех, кто мог бы пропустить на действия, почему все продолжают говорить о Docker? Почему вы должны переключаться и что Стратегическая ценность Вы получите?
Это короткое введение в Виртуализация и Контейнеросечение Предполагается, что поможет вам понять, как Docker может сэкономить вам время, деньги и головные боли. Чтобы понять, почему докер полезен в первую очередь, давайте посмотрим на некоторые из наиболее распространенных проблем при разработке каких-либо видов приложения, сайта или услуги.
Но это работает на моей машине!
Представьте себе следующий сценарий: вы должны поддерживать своих коллег во время разработки существующего приложения. Первое, что вы делаете, это проверить репозиторий Git, чтобы вытащить самый последний исходный код на локальный компьютер. Затем вы устанавливаете приложенные зависимости, в этом примере мы используем композитор и Узел Пакет менеджер Отказ
Таким образом, вы можете попробовать установить зависимости композиторов, но подождите, что это?
1- dealerdirect/phpcodesniffer-composer-installer v0.5.0 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
Похоже, у вас есть другая версия композитора, установленная на вашем компьютере, которая не совместима с проектом. Таким образом, вы должны понизить монтаж композитора до версии 1.
Затем вы устанавливаете зависимости Frontend, используя диспетчер пакетов узла, это другая ошибка?
1npm WARN notsup Unsupported engine for semver@7.3.2: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"6.14.4"}) 2npm WARN notsup Not compatible with your version of node/npm: semver@7.3.2
Неподдерживаемая версия узла? На этот раз нам нужно обновить нашу локально установленную версию. Но будет ли это сломать еще один проект, на котором вы работали? Вы должны спуститься и обновить свои инструменты каждый раз, когда вы переключаете проекты?
Местное развитие и требуемые услуги
Наконец, после нескольких часов выяснения соответствующих версий всех необходимых инструментов, которые у вас почти приложение вверх и работает. Все, что вам не хватает, это база данных для хранения данных приложения, SMTP-сервера для отправки электронной почты и экземпляра Redis для страниц кэша.
Вы можете представить, как все эти услуги снова зависят от определенной версии. Установка всего займет несколько часов и даже тогда вы можете столкнуться с большим количеством вопросов. Может быть, вы забыли установить расширение PHP и внезапно у вас еще больше проблем, чем когда вы начали.
Разве это не было бы неплохо, если бы мы могли каким-то образом избежать проблем с этими проблемами?
Докер к спасению!
Здесь мы встречаемся докера, открытой платформой для разработки, доставки и запуска приложений.
Основная идея — Отделите среду приложений с местной машины Отказ Эта среда должна быть Точно так же для всех Работа над проектом, это должно Содержать все необходимые инструменты и услуги И это должно быть легко расходный/масштабируемый Отказ Такая среда называется Контейнер И следующее резюме с официального веб-сайта Docker объясняет основную цель:
Контейнер — это стандартная единица программного обеспечения, который упаковывает код и все его зависимости, поэтому приложение работает быстро и надежно из одной вычислительной среды к другой. Образ контейнера Docker — это легкий, автономный, исполняемый пакет программного обеспечения, который включает в себя все необходимое для запуска приложения: кода, время выполнения, системные инструменты, системные библиотеки и настройки.
Источник: Что такое контейнер? Официальное объяснение докера
Разве это не просто виртуальная машина?
Скорее всего, вы работали или хотя бы слышали о виртуальная машина . Он в основном является отдельная операционная система, работающая на вашей основной операционной системе. Докер следует подобное маршруту, но позволяет избежать одного основного ограничения — Размер Отказ Нормальное VM-изображение (содержащее всю операционную систему) намного больше размера, чем изображение докера. Это может быть достигнуто Docker Использование основного ядра ОС Отказ
Интеграции и Docker-Hub
Уже есть много интеграций для докера. Примером будет хостинг поставщики, поддерживающие или предлагающие решения на основе Docker на основе изображений. Это также красиво интегрирует в существующую непрерывную доставку и трубопроводы развертывания.
Мы не можем говорить о Docker и не упомянули Docker-Hub — сервисную сборку для поиска и совместного использования изображений. Вы можете найти официальные изображения поставщиков для всех видов использования. Изображения варьируются от простых веб-серверов, приложений баз данных и даже целых операционных систем.
Посмотрите сами по посещение концентратора Отказ
Докер — не если, но когда?
Создание переключателя на Docker не должно быть вопросом Да или нет , а скорее Когда Действительно
Долгосрочные и краткосрочные выгоды бесконечны, вот наши лучшие три:
Скорость: Разработчики включены для быстрого создания новых или существующих проектов в течение нескольких минут и поделитесь тем же средой разработки со всеми членами команды.
Повторное использование: То же самое изображение докера можно использовать для ускорения развертывания и сохранения дополнительной настройки и обслуживания традиционного сервера.
Жилье: Будущие обновления могут быть проверены и рассмотрены до развертывания в производственной среде, снижая риск работы в вопросах после развертывания.
Эта статья будет частью серии о лучших практиках Докера в Тайконатене. Оставайтесь настроиться, и мы рады обратной связи и вопросам, о которых вы хотите узнать больше.
Оригинал: «https://dev.to/sftaikonaut/how-to-docker-the-strategic-value-37l4»