一、Nacos2.2.0适配瀚高数据库
Nacos2.2.0适配瀚高数据库部分参考地址:https://blog.csdn.net/weixin_39676699/article/details/130642890
application.properties配置文件中数据库部分配置如下:
spring.sql.init.platform=highgo db.num=1 db.url.0=jdbc:highgo://192.168.1.1:5866/highgo?currentSchema=nacos_new&useUnicode=true&characterEncoding=utf8&stringtype=unspecified&serverTimezone=UTC db.user.0=sysdba db.password.0=123456 db.pool.config.driverClassName=com.highgo.jdbc.Driver
二、编译打包源码,制作镜像,docker启动
1、编译打包源码
mvn -Prelease-nacos -Dmaven.test.skip=true -Dpmd.skip=true -Drat.skip=true -Dcheckstyle.skip=true clean install -U
在cmd或idea中的maven执行命令,不要在idea中的终端执行。
我在打包过程中出现下图错误,但是打包完成了。
打包后的jar在/distribution/target目录下,如下图
2、制作镜像
参考地址:https://blog.csdn.net/qq_36805343/article/details/129369976
下载Nacos-Docker
官方Nacos Docker 快速开始:https://nacos.io/zh-cn/docs/quick-start-docker.html
Nacos Docker Github官方说明:https://github.com/nacos-group/nacos-docker/blob/master/README_ZH.md
下载对应自己的nacos版本,博主为 nacos version 2.2.0
将下载的nacos-docker-2.2.0.tar.gz解压,文件结构如下:
nacos-docker 文件结构
|----build:nacos 镜像制作的源码
|----bin:shell脚本
|----conf:配置文件
|----env: docker compose 环境变量文件
|----example: docker-compose编排例子
博主未进行 postgresql -->docker-compose模式的env和example扩展
开始制作naocs镜像,步骤如下(均在build目录下操作):
1.将换了数据库的nacos源码编译打包后的.tar.gz结尾的包,放到nacos-docker-2.2.0的build目录下。
2.修改conf下的application.properties
3.修改Dockerfile文件
我修改后的Dockerfile文件如下:
FROM centos:7.9.2009 MAINTAINER pader "[email protected]" # set environment ENV MODE="standalone" \ PREFER_HOST_MODE="ip"\ BASE_DIR="/home/nacos" \ CLASSPATH=".:/home/nacos/conf:$CLASSPATH" \ CLUSTER_CONF="/home/nacos/conf/cluster.conf" \ FUNCTION_MODE="all" \ JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk" \ NACOS_USER="nacos" \ JAVA="/usr/lib/jvm/java-1.8.0-openjdk/bin/java" \ JVM_XMS="1g" \ JVM_XMX="1g" \ JVM_XMN="512m" \ JVM_MS="128m" \ JVM_MMS="320m" \ NACOS_DEBUG="n" \ TOMCAT_ACCESSLOG_ENABLED="false" \ TIME_ZONE="Asia/Shanghai" ARG NACOS_VERSION=2.2.0 ARG HOT_FIX_FLAG="" WORKDIR $BASE_DIR RUN set -x \ && yum update -y \ && yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel wget iputils nc vim libcurl #RUN wget https://github.com/alibaba/nacos/releases/download/${NACOS_VERSION}${HOT_FIX_FLAG}/nacos-server-${NACOS_VERSION}.tar.gz -P /home COPY nacos-server-${NACOS_VERSION}.tar.gz /home RUN tar -xzvf /home/nacos-server-${NACOS_VERSION}.tar.gz -C /home \ && rm -rf /home/nacos-server-${NACOS_VERSION}.tar.gz /home/nacos/bin/* /home/nacos/conf/*.properties /home/nacos/conf/*.example /home/nacos/conf/nacos-mysql.sql RUN yum autoremove -y wget \ && ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo $TIME_ZONE > /etc/timezone \ && yum clean all ADD bin/docker-startup.sh bin/docker-startup.sh ADD conf/application.properties conf/application.properties # set startup log dir RUN mkdir -p logs \ && cd logs \ && touch start.out \ && ln -sf /dev/stdout start.out \ && ln -sf /dev/stderr start.out RUN chmod +x bin/docker-startup.sh EXPOSE 8848 ENTRYPOINT ["bin/docker-startup.sh"]
4.打镜像
在Dockerfile所在文件目录,执行打镜像命令。
docker build -t nacos:2.2.0 .
我是在windows环境下打的镜像,若在linux环境下打镜像,需要将整个build目录上传至linux服务器。
注意:下载的所有文件格式如果是在linux系统执行的话,会有格式问题,需要修改Dockerfile和bin目录下sh文件的编码格式。
正常编写的.sh文件拷贝到docker容器,启动时报错no such file or directory,大概率是格式问题。
如果在linux环境下,我们可以用vi命令打开文件,然后在普通模式下输入:set ff
#vi Dockerfile
在命令窗口下输入:set ff,然后按回车键,可查看当前文件格式
如果显示fileformat=dos,我们可以使用命令:set ff=unix修改文件格式 ,修改改完可再用:set ff查看是否已修改为unix格式。
一定要注意,不只是DockerFile文件,你挂载到docker容器内的所有文件都可能有这个错误。
3、docker启动nacos
docker run --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 -d nacos:2.2.0
访问:http://ip:8848/nacos
标签:&&,适配,Nacos2.2,nacos,conf,镜像,home,docker From: https://www.cnblogs.com/nuomm/p/18194220