Обложка Кредит: Docker 101: Введение в Docker Вебинар -резюме Дженни Фонг
Что такое контейнеры Docker?
Каждый контейнер Docker по сути является изолированной программной средой. Контейнеры используются, чтобы помочь решить проблему «Ну, это работает на моей машине. » До роста популярности контейнеров разработчики использовали виртуальные машины для тестового кода в согласованной среде. Виртуальные машины похожи на контейнеры, так как они содержат приложение и его зависимости, но дополнительно включают в себя операционную систему гостя и требует гипервизора.
Изображение предоставлено: Виртуальные машины против контейнеров Docker — погрузитесь в Docker от Ника Джанетакиса
В то время как виртуальные машины предлагают много преимуществ, они медленнее загружаться, чем контейнеры из -за дополнительной стоимости запуска операционной системы в каждой виртуальной машине. Хотя Docker не первая компания, которая предложила инструмент для контейнеризации, он, похоже, пришел в нужное время (2013). Разработчики искали альтернативу виртуальным машинам, так как в популярности выросли архитектура микросервисов. Контейнеры Docker соответствуют этой потребности и поддерживаются во многих других сторонних приложениях и услугах (AWS, Travis CI, Jenkins и т. Д.).
Как их можно использовать с микросервисами?
Контейнеры Docker полезны для микросервисов, потому что они предлагают изолированную и равномерную среду для каждого микросервиса, и их можно быстро развернуть. Это полезно для приложений, основанных на микросервисах, потому что они полагаются на несколько независимых процессов работы. Если один из микросервисов уходит вниз, он не сбивает все приложение и может быть легко заменен другим контейнером, работающим с тем же микросервисом.
Какие инструменты существуют для работы с контейнерами Docker?
Есть довольно много инструментов разработчиков, доступных для работы с контейнерами Docker. Одним из самых популярных решений является Docker Compose. Docker Compose использует .yml для определения конфигурации мультиконтравтора. Этот файл Docker Compose .yml используется для раскрытия нескольких контейнеров за один раз. Это упрощает процесс запуска и тестирования вашего приложения MicroServices.
Как вы можете использовать контейнеры на машине разработки для проверки вашего кода?
В настоящее время Docker Compose является одним из самых популярных вариантов раскрутки нескольких контейнеров на местном уровне. Однако, поскольку каждое изображение Docker должно быть построено из DockerFile, разработчики, которые хотят использовать Docker Compose для развертки контейнеров локально, должны воссоздать изображения Docker каждый раз, когда возникают изменения в коде для данного микросервиса. Работая с командами многих разработчиков, которые могут не работать над каждым хранилищем ежедневно, может стать утомительным, чтобы убедиться, что они тестируют локальный код против самых последних версий других микросервисов, которые зависят от этого микросервиса.
Dockerlocal — это электронное приложение, которое направлено на то, чтобы удовлетворить эту потребность для динамического создания файлов Docker Compose. Как только разработчики вписываются в GitHub, Dockerlocal позволяет разработчикам создавать проекты для каждого приложения для микросервиса, над которым они работают. Затем разработчики могут выбрать репозитории GitHub, связанные с этим проектом, чтобы клонировать последнюю версию каждого репозитория. Dockerlocal затем создает файл Docker Compose .yml только с микросервисами, над которыми вы в настоящее время не работаете локально. Dockerlocal запускается сегодня и доступен для загрузки и вкладов Здесь Анкет Есть какие -либо отзывы? Дайте нам знать в комментариях ниже.
Соавтоспособен Катти Поляк и Вивиан Кермено
Оригинал: «https://dev.to/kattypolyak/using-docker-containers-to-test-microservices-4p3f»