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

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

时间:2024-05-15 17:19:16浏览次数:23  
标签:&& 适配 Nacos2.2 nacos conf 镜像 home docker

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

相关文章

  • 3SRB2516-ASEMI适配大功率充电桩3SRB2516
    编辑:ll3SRB2516-ASEMI适配大功率充电桩3SRB2516型号:3SRB2516品牌:ASEMI封装:SGBJ-5正向电流(Id):25A反向耐压(VRRM):1600V正向浪涌电流:400A正向电压(VF):1.05V引脚数量:5芯片个数:5芯片尺寸:88MIL功率(Pd):大功率设备工作温度:-55°C~150°C类型:整流桥、插件整流桥3SRB2516整流桥描......
  • vue3 前端大屏项目适配方法
    1scale()方法//屏幕内的内容//样式部分.contain{width:100vw;height:200vh;background:url(.pic);backgrouns-size:cover}.screen{display:inline-block;width:1920px;//设计稿的宽度height:1080px;//设计稿的高度transform-origin:l......
  • MAC下的homebrew安装及镜像调整
    一、安装未记录 二、镜像调整cd"$(brew--repo)"gitremoteset-urloriginhttps://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git#onlydothisbelowcd"$(brew--repo)/Library/Taps/homebrew/homebrew-core"gitremoteset-urloriginhttps://mi......
  • gradle 阿里镜像源
    文件路径:C:\Users\laremehpe\.gradle\init.gradleallprojects{repositories{defREPOSITORY_URL='https://maven.aliyun.com/repository/gradle-plugin'all{ArtifactRepositoryrepo->if(repoinstanceofMavenA......
  • macOS Ventura 13.6.7 (22G720) Boot ISO 原版可引导镜像下载
    macOSVentura13.6.7(22G720)BootISO原版可引导镜像下载5月14日凌晨,macOSSonoma14.5发布,同时带来了macOSVentru13.6.7安全更新。macOSVentura13.6及更新版本,如无特殊说明皆为安全更新,不再赘述。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下......
  • macOS Monterey 12.7.5 (21H1222) Boot ISO 原版可引导镜像下载
    macOSMonterey12.7.5(21H1222)BootISO原版可引导镜像下载5月13日凌晨,macOSSonoma14.5发布,同时带来了macOSVentru13.6.7和macOSMonterey12.7.5安全更新。本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在......
  • 离线安装docker,并导入镜像文件
    在Ubuntu20.04系统上离线安装Docker,并导入Redis镜像,需要分几个步骤进行。以下是详细的步骤:1.离线下载Docker安装包首先,你需要在有网络连接的机器上下载Docker的.deb安装包以及其依赖项。下载Docker.deb包和依赖项在联网的机器上:创建一个目录来存放所有的.deb文件:mkdi......
  • macOS Sonoma 14.5 (23F79) 正式版 Boot ISO 原版可引导镜像下载
    macOSSonoma14.5(23F79)正式版BootISO原版可引导镜像下载2024年5月14日凌晨,macOSSonoma14.5发布,本更新提供了重要的错误修复,建议所有用户安装。随着版本14.5的发布,macOSSonoma的更新使命已基本完成,不出意外此版本将成为推荐版本,适合所有Mac全新安装。期待......
  • Docker 必知必会3----使用自己制作的镜像
    前面的两篇文章分别讲了,docker的基础概念,设计思路以及docker的基本操作。感兴趣的同学可以查阅:https://www.cnblogs.com/jilodream/p/18177695https://www.cnblogs.com/jilodream/p/18184687本文我们将介绍如何使用自己的镜像。一、制作自己镜像docker本身已经提供了镜像制作的......
  • 在M1芯片的Mac上构建多平台Docker镜像
    在M1芯片的Mac上构建多平台Docker镜像在这篇博客中,我们将讨论如何在M1芯片的Mac上构建多平台的Docker镜像。我们将使用Docker的buildx命令,这是一个实验性的功能,用于启用对多平台镜像的构建。以下是我们的构建脚本:#创建一个名为mybuilder的新构建器实例,并设置为当前使用的构建......