Использование Docker для обмена проектами для работы в Windows 10? - PullRequest
0 голосов
/ 15 февраля 2019

Я младший веб-разработчик, работаю в небольшом веб-агентстве.Мы работаем на Windows 10, с Wampserver и в основном с сайтами Prestashop, Wordpress и Symfony.На каждое задание мне выдается «билет», который я должен разработать в новой ветке (если необходимо).Когда работа завершена, я объединяю свою ветку с ветвью разработки, которая размещена на подготовительном сервере, и, если она считается нормальной, она объединяется с главной веткой, которая является рабочим веб-сайтом, размещенным на другом сервере.

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

Но, насколько я понял, контейнеры Docker похожи на виртуальные машины и полезны только для них.для создания изолированных сред для тестирования приложения без необходимости думать о зависимостях.

Но, учитывая тот факт, что у нас уже есть сервер предварительной подготовки, я не вижу смысла в использовании Docker?Я что-то пропустил?

Кроме того, может ли Docker быть полезен для обмена проектами между сотрудниками (все мы работаем под Windows)?(например, разработчик работает над веб-сайтом локально, может ли он создать контейнер и его изображение, которое может быть использовано мгновенно, поскольку другой разработчик не будет конфигурировать его с его стороны?)

1 Ответ

0 голосов
/ 15 февраля 2019

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

Нет, контейнеры Docker полезны не только для тестирования.

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

Но, учитывая тот факт, что у нас уже есть сервер для подготовки производства, я не вижу смысла в использовании Docker?Я что-то пропустил?

Этот предварительный рабочий сервер, иначе называемый staging сервером, должен также использовать docker для запуска кода.

Кроме того, можетМожет ли Docker использоваться для обмена проектами между сотрудниками (все мы работаем под Windows)?(например, разработчик работает над веб-сайтом локально, может ли он создать контейнер и его изображение, которое может быть использовано мгновенно, поскольку другой разработчик не будет конфигурировать его с его стороны?)

Да ... Вы создаете образы базовых докеров только с необходимыми для работы средствами, и из них вы можете создавать другие образы докеров с помощью необходимых инструментов разработчика.

Рабочий образ company/app-name:

FROM php:alpine

# other your production dependencies here

Предполагая, что они создают образ докера с именем company/app-name, а затем образ для разработки.

Образ разработки company/app-name-dev:

FROM company/app-name

# add here only developer tools

Теперь разработчик использует обаИзображения company/app-name и company/app-name-dev во время разработки и на промежуточном сервере для запуска кода будет использоваться только company/app-name образ докера.

После нескольких месяцев взаимодействия в этом потоке вы можете даже начать уверенно начинать работуиспользуя company/app-name для развертывания приложения в рабочей среде, теперь вы получаете 100% соотношение между разработкой, подготовкой и производством.

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

Но не помещайте все необходимые сервисы в один образ докера, потому что это плохая практика в докере, вместо этого используйте один сервис на образ докера, как один сервис для PHP, другой длябазу данных, другую для сервера Nginx и т. д. См. здесь , как несколько сервисов могут быть скомпонованы вместе с docker compose.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...