spring cloud bootstrap.yml 设置nacos环境变量

spring cloud bootstrap.yml 设置nacos环境变量

需求是有多台服务器,每次打包都要修改 bootstrap.yml 的ip地址和命名空间等 比较麻烦,所以就设置一个环境变量一劳永逸

技术交流博客 http://idea.coderyj.com/

1. spring cloud bootstrap.yml 设置变量

yml 复制代码
custom-nacos:
  ip: ${NACOS_SERVER_IP:172.16.1.113}
  port: ${NACOS_SERVER_PORT:8848}
  namespace: ${NACOS_APP_NAMESPACE:nacos-robot-web}
  username: ${NACOS_AUTH_USERNAME:nacos}
  password: ${NACOS_AUTH_PASSWORD:nacos}

spring:
  application:
    name: nacos-web
  cloud:
    nacos:
      discovery:
        server-addr: ${custom-nacos.ip}:${custom-nacos.port}
        namespace: ${custom-nacos.namespace}
        username: ${custom-nacos.username}
        password: ${custom-nacos.password}
      #配置中心设置
      config:
        #设置配置中心服务端地址
        server-addr: ${custom-nacos.ip}:${custom-nacos.port}
        namespace: ${custom-nacos.namespace}
        file-extension: yaml
        group: DEFAULT_GROUP
        refresh-enabled: true
        extension-configs[0]:
          data-id: common.yaml
          group: DEFAULT_GROUP
          refresh-enabled: true
        username: ${custom-nacos.username}
        password: ${custom-nacos.password}
        
  # 上传文件大小设置
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 100MB
  • ip: ${NACOS_SERVER_IP:172.16.1.113}
  • port: ${NACOS_SERVER_PORT:8848}
  • namespace: ${NACOS_APP_NAMESPACE:nacos-robot-web}
  • username: ${NACOS_AUTH_USERNAME:nacos}
  • password: ${NACOS_AUTH_PASSWORD:nacos}

1.docker-compose 文件设置

java 复制代码
version: '2'
services:
  web:
    image: "nacos-web"
    networks:
      - overlay_net
    ports:
      - "8182:8182"
    restart: always
    environment:
      - TZ=Asia/Shanghai
      - JAVA_OPTS=-XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xms1024m -Xmx1024m -Xmn256m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC
    container_name: nacos-web
    env_file:
      - ./custom-application-config.env
    volumes:
      - /data/ftp/root:/home
networks:
  overlay_net:

env_file:

  • ./custom-application-config.env
  • env 文件
java 复制代码
NACOS_SERVER_IP=172.16.1.113
NACOS_SERVER_PORT=8848
NACOS_APP_NAMESPACE=nacos-robot-web
NACOS_AUTH_USERNAME=nacos
NACOS_AUTH_PASSWORD=nacos

2.在Dockerfile设置环境变量

复制代码
FROM openjdk:8
# 将当前目录下的*.jar添加到镜像中去,并且命名为app.jar
ADD target/track-web-exe.jar app.jar
# 开放tcp端口
EXPOSE 	8182/tcp
ENV LANG C.UTF-8
ENV NACOS_SERVER_IP=172.16.1.113
ENV NACOS_SERVER_PORT=8848
NACOS_APP_NAMESPACE=nacos-robot-web
NACOS_AUTH_USERNAME=nacos
NACOS_AUTH_PASSWORD=nacos
# copy 修改启动配置文件
#COPY src/main/resources/bootstrap.yml ./config/bootstrap.yml
# 把字体拷贝到docker容器里面
COPY src/main/resources/fonts/simsun.ttc /usr/share/fonts/
# 镜像启动的时候执行这个命令
CMD exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar

3.重置配置文件

复制代码
FROM openjdk:8
# 将当前目录下的*.jar添加到镜像中去,并且命名为app.jar
ADD target/track-web-exe.jar app.jar
# 开放tcp端口
EXPOSE 	8182/tcp
ENV LANG C.UTF-8
# copy 修改启动配置文件
COPY src/main/resources/bootstrap.yml ./config/bootstrap.yml
# 把字体拷贝到docker容器里面
COPY src/main/resources/fonts/simsun.ttc /usr/share/fonts/
# 镜像启动的时候执行这个命令
CMD exec java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar
  • COPY src/main/resources/bootstrap.yml ./config/bootstrap.yml
  • bootstrap.yml 拷贝到服务器上进行镜像打包即可
  • 镜像打包命令 docker-build -t track-web .
相关推荐
一路向北·重庆分伦2 小时前
01:服务注册与发现+配置中心-Nacos+Eureka
spring cloud
一路向北·重庆分伦4 小时前
04:服务网关Spring Cloud Gateway
spring cloud
彭于晏Yan4 小时前
Spring AI(二):入门使用
java·spring boot·spring·ai
卓怡学长5 小时前
m280本科生导师指导平台
java·数据库·spring·tomcat·maven·intellij-idea
Meepo_haha6 小时前
创建Spring Initializr项目
java·后端·spring
Memory_荒年6 小时前
SpringBoot事务源码深度游:从注解到数据库的“奇幻漂流”
java·后端·spring
Memory_荒年6 小时前
SpringBoot事务:从“一键开关”到“踩坑大全”的生存指南
java·后端·spring
卓怡学长7 小时前
m277基于java web的计算机office课程平台设计与实现
java·spring·tomcat·maven·hibernate
希望永不加班7 小时前
SpringBoot 主启动类解释:@SpringBootApplication 到底做了什么
java·spring boot·后端·spring
JiaHao汤8 小时前
微服务注册中心深度解析:Eureka、Consul、Nacos 从原理到实战
spring cloud·微服务·eureka·consul