Nacos2.2.0适配瀚高数据库,打镜像部署

一、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

2.2.0版本下载地址:https://github.com/nacos-group/nacos-docker/archive/refs/tags/v2.2.0.tar.gz

 将下载的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 "huangmnlove@163.com"

# 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

posted @   又逢落花时节  阅读(443)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示