Настройка Java + svn + Eclipse + Tomcat, среда разработки с dockerе

Я только начал опробовать dockerов, чтобы узнать, помогает ли это созданию нашей среды разработки, которая состоит из

  1. Jdk 1.6
  2. Затмение
  3. RabbitVCS
  4. Кот
  5. Сервер MySQL

Наши настольные разработки – это в основном Ubuntu 16.04. У меня было бы затмение, RabbitVCS, установленное на хосте, а остальное в контейнере.

Если все будет хорошо, разработчики должны иметь возможность загружать изображение Docker. Запуск этого образа должен предоставить им JDK, Tomcat и сервер MySQL. Затем разработчики могут использовать RabbitVCS для проверки проектов.

Возможно ли это с Докером?

ТЛ; др

Невозможно запустить eclipse в ОС хоста и использовать JDK / JRE в контейнере, потому что затмение имеет зависимость от JRE. Точно так же вы не можете иметь tomcat в одном контейнере и JRE / JDK в другом контейнере, потому что tomcat нуждается в JRE для запуска.

объяснение

У меня было бы eclipse, RabbitVCS, установленное на хосте, а остальное в контейнере. Запуск этого образа должен дать им JDK, Tomcat и MySQL сервер

Вы пытаетесь использовать JDK, работающий на контейнере dockerов (и Eclipse IDE, работающем на хосте os) для активной разработки? Если это так, это не представляется возможным ( возможно , вы можете выполнить удаленную отладку, но помните, что отладка отличается от активной разработки). И это не намерение dockerа. При разработке разработчикам, возможно, потребуется установить JDK в свою машину. В вашем случае только разумная вещь для запуска из контейнера – это mysql, так как у вас нет активной разработки.

Изменить: создать портативную среду разработки

В dockerе, одно из возможных решений, есть eclipse + jdk + tomcat в одном и том же изображении dockerов и монтируйте гнездо X11 в контейнер, чтобы вы могли открыть графический интерфейс eclipse, запущенный в контейнере, на вашу основную ОС

Подробнее читайте здесь: https://blog.jessfraz.com/post/docker-containers-on-the-desktop/

Или просто Ditch Docker и перейдите на полномасштабную виртуальную машину , такую ​​как виртуальный бокс , вы можете найти в нем предварительно созданные изображения с eclipse (не уверены), или вы можете создать один после установки всех необходимых пакетов на базовом изображении и поделиться им это среди ваших разработчиков.

Да, это возможно.

Я бы рекомендовал использовать разные контейнеры для каждой службы (Mysql / Tomcat / JDK). Вы можете использовать docker-compose для соединения контейнеров вместе и автоматизации множества задач. Есть много изображений уже на docker-хабе, которые вы можете использовать.

Вот простой пример того, как вы можете настроить свой собственный файл docker-compose.yml:

services: tomcat_service: #contains tomcat & jdk image: tomcat volumes: - /local/path:/path/in/docker links: - mysql_service depends_on: - mysql_service ports: - "80:80" # - other ports for debugging mysql_service: image: mysql volumes: #you should keep mysql data on the host, not in container - /local/path/data:/var/lib/mysql 

Каждое изображение, используемое выше, будет автоматически загружено из dockerhub: tomcat , java , mysql

EDIT: jdk и tomcat будут лучше вместе в одном контейнере