La ventana acoplable local desarrolla el proyecto springboot y el código de actualización local se actualiza en tiempo real en el contenedor de la ventana acoplable

Este es un tutorial simple para ayudarlo a usar Docker localmente para el desarrollo de proyectos de Spring Boot. El proceso de desarrollo real puede variar según la complejidad y las necesidades del proyecto.

La ventana acoplable local desarrolla el proyecto springboot y actualiza el código localmente en el contenedor de la ventana acoplable en tiempo real

Para implementar actualizaciones en tiempo real en el contenedor de Docker después de actualizar el código local, puede montar el directorio de código local en el contenedor de Docker y usar la función de implementación en caliente de Spring Boot. De esta forma, cuando modifique el código localmente, la aplicación dentro del contenedor Docker volverá a cargar automáticamente el código más reciente y reflejará los cambios en tiempo real. Los siguientes son los pasos específicos:

  1. Escritura de un Dockerfile: Cree un Dockerfile para crear una imagen que contenga una aplicación Spring Boot. Asegúrese de incluir las dependencias necesarias para la depuración y la implementación activa, como los argumentos de JVM y los complementos de DevTools, en su Dockerfile. Aquí hay un archivo Docker de ejemplo:

Dockerfile

# 基于Java 11的官方Spring Boot镜像
FROM adoptopenjdk:11-jre-hotspot

# 设置工作目录
WORKDIR /app

# 复制应用程序的JAR文件到镜像中
COPY target/your-application.jar app.jar

# 设置环境变量,启用Spring Boot热部署
ENV SPRING_PROFILES_ACTIVE=dev
ENV SPRING_DEVTOOLS_REMOTE_SECRET=mysecret

# 设置启动命令
CMD ["java", "-jar", "-Dspring.devtools.remote.secret=${SPRING_DEVTOOLS_REMOTE_SECRET}", "app.jar"]

Tenga en cuenta que en este Dockerfile configuramos SPRING_PROFILES_ACTIVE=devpara habilitar el entorno de desarrollo y usar SPRING_DEVTOOLS_REMOTE_SECRETuna clave remota con el complemento DevTools especificado.

  1. Crear docker-compose.yml: cree un archivo docker-compose.yml para definir la configuración del servicio y el contenedor. Aquí, montamos el directorio de código en un contenedor Docker para actualizaciones en vivo. Aquí hay un ejemplo de docker-compose.yml:

Yaml

version: '3'
services:
  spring-app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8080:8080"
    volumes:
      - ./src:/app/src
      - ./target:/app/target

En este docker-compose.yml, ./srcmontamos el directorio en /app/srcel directorio del contenedor para que el código se pueda sincronizar en tiempo real. Del mismo modo, también ./targetmontamos el directorio en el directorio del contenedor /app/targetpara mantener sincronizados los resultados de la compilación de la aplicación.

  1. Cree e inicie el contenedor: Cree e inicie el contenedor Docker con los siguientes comandos:

intento

docker-compose up --build

Su aplicación Spring Boot ahora debería estar ejecutándose en un contenedor Docker, con los cambios de código reflejados en el contenedor en tiempo real. Puede editar el código localmente y, después de guardarlo, la aplicación dentro del contenedor de Docker volverá a cargar automáticamente el código más reciente.

Tenga en cuenta que puede haber cierta sobrecarga de rendimiento al usar la función de implementación en caliente, por lo que en un entorno de producción, la implementación en caliente debe deshabilitarse y la aplicación debe implementarse con un paquete JAR precompilado. Pero en la fase de desarrollo, la implementación en caliente es muy útil, lo que puede acelerar la iteración del desarrollo y el proceso de depuración.

Supongo que te gusta

Origin blog.csdn.net/qq_40963664/article/details/131893467
Recomendado
Clasificación