1

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

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

Например, наличие док-контейнера с настройкой Eclipse и настройкой необходимых плагинов (и инструментов сборки - например, maven, ant и т.д.), Контейнера для БД, контейнера для сервера приложений.

Конечно, я могу предвидеть дополнительные сложности, когда кто-то пытается редактировать код в Eclipse и хочет выполнить горячую замену кода на сервере приложений, если сервер приложений находится в другом контейнере.

Как это можно сделать успешно и эффективно в средах на основе контейнеров?

2 ответа2

1

Чтобы ответить на мета-вопрос

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

Чтобы ответить на вопрос Docker

Если вы решите пойти по маршруту Docker , то Docker Compose - ваш инструмент выбора. Все ваши контейнеры будут указаны в составном файле, например:

dev:
  eclipse:
    image: eclipse
  db:
    image: mysql
    ports: 
     - "3306:3306"
    volumes:
     - .:/db
  server:
    image: myapp_server
    ports:
     - "port:port"

Затем вы просто запускаете docker-compose.

Вы можете найти много необходимых контейнеров в Docker Hub.

1

Если бы я был тобой, я бы просто отделял несколько задач друг от друга - и обрабатывал их по-другому. Для локальной среды разработчика я бы рекомендовал использовать Puppet / Terraform / Chef (или любой другой инструмент управления конфигурацией), который может настраивать Eclipse и другие инструменты, связанные с графическим интерфейсом (Puppet обрабатывает несколько менеджеров пакетов, доступных в Windows, также с Chocolatey).

Ресурсы не GUI-типа (такие как SQL-сервер, Cache-сервер, сервер приложений / контейнер) могут быть определены в Docker (с -compose, конечно) - с некоторым разделением тома между хостом и контейнерами. Оба решения могут управляться и отслеживаться в GIT.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .