tag run remove images hub example dockers docker spring-boot vagrant remote-debugging

run - dockers images



depuraciĆ³n de arranque de primavera en vagabundo y acoplador (1)

Ok, encontré mi error, en el archivo vagabundo, solo tengo el puerto 8080 expuesto desde el contenedor acoplable. También tengo dos opciones: Xdebug -Xrunjdwp definido como una sola opción en el punto de entrada del acoplador. El archivo Docker correcto se ve así:

FROM java:8 VOLUME /tmp ADD simple-test-1.0-SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Xdebug", "-Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n", "-jar", "/app.jar"]

Y corregir el archivo vagabundo

ENV[''VAGRANT_DEFAULT_PROVIDER''] = ''docker'' Vagrant.configure("2") do |config| config.vm.define "app" do |a| a.vm.provider "docker" do |d| d.vagrant_machine = "dockerhost" d.vagrant_vagrantfile = "./Vagrant_docker_wrapper" d.build_dir = "." d.build_args = ["-t=app"] d.ports = ["8080:8080", "8000:8000"] d.name = "app" d.remains_running = true d.cmd = ["run"] end end end

Además, cuando estoy conectado a través del depurador al servidor, puedo intercambiar en caliente las clases de Java sin problemas (todavía no revisé los recursos estáticos).

Estoy tratando de configurar el entorno de desarrollo para el proyecto de arranque de primavera basado en docker y vagabundo. Estoy usando IntelliJ corriendo en Windows para escribir código y vagabundo para poder ejecutar proyectos en contenedores acoplables en cualquier sistema. Estoy construyendo un proyecto con maven. Actualmente puedo ejecutar la aplicación empaquetada en contenedor jar en docker que se ejecuta en ubuntu en virtualbox a través de vagrant. No puedo resolver cómo depurar mi aplicación en IntelliJ, inicio la aplicación con la depuración remota, correctamente (o al menos creo que lo estoy haciendo bien) configurar el reenvío de puertos, pero IntelliJ todavía me dice "Restablecimiento de la conexión" y no puede conectarse a depurador

Aquí está mi archivo Docker:

FROM java:8 VOLUME /tmp ADD test-1.0-SNAPSHOT.jar app.jar ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n,address=8000", "-jar", "/app.jar"]

Vagrantfile:

ENV[''VAGRANT_DEFAULT_PROVIDER''] = ''docker'' Vagrant.configure("2") do |config| config.vm.define "app" do |a| a.vm.provider "docker" do |d| d.vagrant_machine = "dockerhost" d.vagrant_vagrantfile = "./Vagrant_docker_wrapper" d.build_dir = "." d.build_args = ["-t=app"] d.ports = ["8080:8080", "8000:8000"] d.name = "app" d.remains_running = true d.has_ssh = true d.cmd = ["run"] end end end

Y Vagrant_docker_wrapper:

Vagrant.configure("2") do |config| config.vm.provision "docker" config.vm.provision "shell", inline: "ps aux | grep ''sshd:'' | awk ''{print $2}'' | xargs kill" config.vm.define "dockerhost" config.vm.box = "ubuntu/trusty64" config.vm.network "forwarded_port", guest: 8080, host: 9080 config.vm.network "forwarded_port", guest: 8000, host: 9081 config.vm.provider :virtualbox do |vb| vb.name = "dockerhost" end end

Creé estos archivos con la ayuda de http://blog.zenika.com/2014/10/07/Setting-up-a-development-environment-using-Docker-and-Vagrant/ y https://spring.io/ guías / gs / spring-boot-docker /

En IntelliJ agregué una nueva configuración de depuración remota y configuré el puerto en 9081. Si alguien tiene alguna idea de cómo debo configurar este entorno para trabajar en modo de depuración, me complacerá cualquier ayuda.

Si logro conectarme con el depurador a mi aplicación, también quiero tener algunos recursos de repositorio en caliente y recargar la funcionalidad sin necesidad de volver a compilar con maven y reiniciar el acoplador. Por lo tanto, cualquier ayuda en esta área también será excelente, pero no es obligatorio.