2016-10-06 3 views
0

У меня есть опыт разработки в основном с кодированием/dev't, чем с развертыванием. Недавно мы представили Microservices нашей команде, и я занимаюсь POC по внедрению этих Microservices в Docker. Я сделал простое приложение с maven, Java 8 (не OpenJdk), и файл jar готов к развертыванию, но я придерживался точных шагов по развертыванию и запуску/тестированию приложения в контейнере Docker.Каков шаг за шагом процесс развертывания приложения java для Docker?

Я уже скачал Docker на mac и прошел через этот documentation, но я чувствую, что в середине есть некоторые шаги, и я смутился.

Я обращаюсь к вам за помощью.

Спасибо!

+2

http://stackoverflow.com/questions/31696439/how-to-build-a-docker-container-for-a-java-app/31710204#31710204 –

ответ

1

Если у вас уже есть встроенный файл JAR, самый быстрый способ, чтобы попробовать его в докер, чтобы создать Dockerfile, который использует official OpenJDK base image, копии в вашем JAR и конфигурирует Docker, чтобы запустить его при запуске контейнера:

FROM openjdk:7 
COPY my.jar /my.jar 
CMD ["java", "-jar", "/my.jar"] 

с этой Dockerfile в том же месте, что и ваш JAR файл запуска:

docker build -t my-app . 

Который будет создавать образ, а затем запустить приложение в контейнере:

docker run my-app 

Если вы хотите интегрировать Docker в конвейер сборки, то вывод каждой сборки будет новым изображением, тогда вы можете либо скомпилировать приложение внутри изображения (как в комментарии Mark O'Connor's выше; или создайте JAR за пределами изображения и просто используйте Docker для его упаковки, как в простом примере выше.

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

+0

Я пытаюсь понять, что произойдет после запуска приложение? Означает ли это, что он работает внутри операционной системы докера? – WowBow

 Смежные вопросы

  • Нет связанных вопросов^_^