O docker local desenvolve o projeto springboot e o código de atualização local é atualizado em tempo real no contêiner docker

Este é um tutorial simples para ajudá-lo a usar o Docker localmente para o desenvolvimento do projeto Spring Boot. O processo de desenvolvimento real pode variar dependendo da complexidade e necessidades do projeto

O docker local desenvolve o projeto springboot e atualiza o código localmente no contêiner docker em tempo real

Para implementar atualizações em tempo real no contêiner do Docker após a atualização do código local, você pode montar o diretório de código local no contêiner do Docker e usar a função de implantação ativa do Spring Boot. Dessa forma, quando você modificar o código localmente, o aplicativo dentro do contêiner Docker recarregará automaticamente o código mais recente e refletirá as alterações em tempo real. A seguir estão as etapas específicas:

  1. Escrevendo um Dockerfile: Crie um Dockerfile para construir uma imagem contendo um aplicativo Spring Boot. Certifique-se de incluir as dependências necessárias para depuração e implantação ativa, como argumentos JVM e plug-ins DevTools, em seu Dockerfile. Aqui está um exemplo de Dockerfile:

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"]

Observe que neste Dockerfile configuramos SPRING_PROFILES_ACTIVE=devpara habilitar o ambiente de desenvolvimento e usar SPRING_DEVTOOLS_REMOTE_SECRETuma chave remota com o plug-in DevTools especificado.

  1. Criar docker-compose.yml: crie um arquivo docker-compose.yml para definir a configuração do serviço e do contêiner. Aqui, montamos o diretório de código em um contêiner do Docker para atualizações ao vivo. Aqui está um exemplo docker-compose.yml:

yaml

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

Neste docker-compose.yml, ./srcmontamos o diretório no /app/srcdiretório do contêiner para que o código possa ser sincronizado em tempo real. Da mesma forma, também ./targetmontamos o diretório no /app/targetdiretório do contêiner para manter os resultados da compilação do aplicativo sincronizados.

  1. Crie e inicie o contêiner: crie e inicie o contêiner do Docker com os seguintes comandos:

bash

docker-compose up --build

Seu aplicativo Spring Boot agora deve estar em execução em um contêiner do Docker, com as alterações de código refletidas no contêiner em tempo real. Você pode editar o código localmente e, após salvar, o aplicativo dentro do contêiner do Docker recarregará automaticamente o código mais recente.

Observe que pode haver alguma sobrecarga de desempenho ao usar o recurso de implementação ativa, portanto, em um ambiente de produção, a implementação ativa deve ser desativada e o aplicativo implementado usando um pacote JAR pré-compilado. Mas na fase de desenvolvimento, a implantação ativa é muito útil, o que pode acelerar a iteração do desenvolvimento e o processo de depuração.

Acho que você gosta

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