Nacos 使用Postgresql数据库制作镜像

news2024/9/22 17:28:52

构建前提

在 Nacos 2.2.0支持postgresql数据库基础上进行构建

github地址:个人仓库

编译打包源码

mvn -Prelease-nacos clean package install -Dmaven.test.skip=true

若想跳过pmd和checkstyle检查请使用

mvn -Prelease-nacos clean package install -Dmaven.test.skip=true -Dpmd.skip=true -Dcheckstyle.skip=true

编译后压缩包目录 nacos-postgresql/distribution/target

下载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

下载链接 version 2.2.0:https://github.com/nacos-group/nacos-docker/archive/refs/tags/v2.2.0.tar.gz

nacos-docker 文件结构
|----build:nacos 镜像制作的源码
    |----bin:shell脚本
    |----conf:配置文件
|----env: docker compose 环境变量文件
|----example: docker-compose编排例子

博主未进行 postgresql -->docker-compose模式的env和example扩展

解压tar.gz

[root@VM-0-9-centos ~]# tar -zxvf v2.2.0.tar.gz

修改conf配置

路径 nacos-docker-2.2.0/build/conf

#spring.datasource.platform=${SPRING_DATASOURCE_PLATFORM:}
spring.sql.init.platform=postgresql
db.num=1
db.url.0=jdbc:postgresql://127.0.0.1:5432/nacos_config?reWriteBatchedInserts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false
db.user.0=xxx
db.password.0=xxx

或者使用下面参数配置

注释原先的mysql,若是mysql数据库则不用修改conf文件

#db.num=${MYSQL_DATABASE_NUM:1}
#db.url.0=jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT:3306}/${MYSQL_SERVICE_DB_NAME}?${MYSQL_SERVICE_DB_PARAM:characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useSSL=false}
#db.user.0=${MYSQL_SERVICE_USER}
#db.password.0=${MYSQL_SERVICE_PASSWORD}
db.num=${POSTGRESQL_DATABASE_NUM:1}
db.url.0=jdbc:postgresql://${POSTGRESQL_SERVICE_HOST}:${POSTGRESQL_SERVICE_PORT:5432}/${POSTGRESQL_SERVICE_DB_NAME}?${POSTGRESQL_SERVICE_DB_PARAM:reWriteBatchedInserts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false}
db.user.0=${POSTGRESQL_SERVICE_USER}
db.password.0=${POSTGRESQL_SERVICE_PASSWORD}

请注意这里扩展了参数

POSTGRESQL_SERVICE_HOST                数据库 连接地址    
POSTGRESQL_SERVICE_PORT                数据库端口    默认 : 3306
POSTGRESQL_SERVICE_DB_NAME             数据库库名    
POSTGRESQL_SERVICE_USER                数据库用户名    
POSTGRESQL_SERVICE_PASSWORD            数据库用户密码    
POSTGRESQL_SERVICE_DB_PARAM            数据库连接参数    default : reWriteBatchedInserts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false
POSTGRESQL_DATABASE_NUM                数据库编号    默认 :1

编辑Dockerfile文件

将压缩包放置nacos-docker-2.2.0/build目录下

cp /nacos-postgresql/distribution/target/nacos-server-2.2.0.tar.gz /nacos-docker-2.2.0/build/

因为是自己编译的源代码所以不需要去github上下载代码了

#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

构建镜像

切换到nacos-docker-2.2.0/build目录

docker build -t nacos:2.2.0 .

因为云服务器未安装postgresql数据库 就未启动nacos镜像

达梦数据库的集成请参考这篇文章:Nacos使用达梦数据库,并制作docker镜像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/392825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue 3.0 组合式API 介绍 【Vue3 从零开始】

提示 在阅读文档之前,你应该已经熟悉了这两个 Vue 基础和创建组件。 在 Vue Mastery 上观看关于组合式 API 的免费视频。 通过创建 Vue 组件,我们可以将接口的可重复部分及其功能提取到可重用的代码段中。仅此一项就可以使我们的应用程序在可维护性和…

SAP ERP系统PP模块计划策略2050详解

SAP/ERP系统中面向订单生产的计划策略主要有20和50两个策略,这两个策略都是面向订单生产的计划策略,也是离散制造行业应用比较广泛的策略。它们之间最大差异就是在于20策略完全是由订单驱动,而50策略是预测加订单驱动,本文主要介绍…

【Leetcode 剑指Offer】第 14 天 搜索与回溯算法(中等)

文章目录剑指 Offer 12. 矩阵中的路径DFS剪枝面试题13. 机器人的运动范围剑指 Offer 12. 矩阵中的路径 典型矩阵搜索题 DFS剪枝 深度优先搜索: 可以理解为暴力法遍历矩阵中所有字符串可能性。DFS 通过递归,先朝一个方向搜到底,再回溯至上…

实现迭代回声服务器端/客户端

文章目录1.迭代服务器端/客户端2.迭代回声服务器端/客户端2.1 echo_server.c2.2 echo_client.c3.回声客户端存在的问题4.回声客户端问题解决方法1.迭代服务器端/客户端 之前讨论的 HelloWorld 服务器端处理完 111 个客户端连接请求即退出,连接请求等待队列实际没有…

唯品会盈利十年:韧性有余,冲劲不足

配图来自Canva可画唯品会在电商市场是一个特殊的存在,从2012年第四季度首次盈利至今,唯品会已经连续十年保持盈利。这十年,电商产业逐渐走向成熟,电商玩家新老接替成层出不穷,曾经家喻户晓的蘑菇街、聚美优品、苏宁易购…

Vue2.0开发之——购物车案例-Goods组件封装-商品数量的加减及总数量(53)

一 概述 Goods点击加减实现修改数量的原理Goods点击增加实现实例Goods点击-减少实现实例Footer计算商品总数量 二 Goods点击加减实现修改数量的原理 点击Counter组件里面的加减,修改Counter组件里面的数量Counter组件的数量变化时,Goods商品的数量相应…

leetcode-每日一题-807(中等,数组)

正常情况第一眼看这道题,看懂意思的话很简单就可以解出来。给你一座由 n x n 个街区组成的城市,每个街区都包含一座立方体建筑。给你一个下标从 0 开始的 n x n 整数矩阵 grid ,其中 grid[r][c] 表示坐落于 r 行 c 列的建筑物的 高度 。城市的…

C++各类设计模式及实现详解

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书&#xff0…

Jetpack Compose 中的重组作用域和性能优化

只有读取可变状态的作用域才会被重组 这句话的意思是只有读取 mutableStateOf() 函数生成的状态值的那些 Composable 函数才会被重新执行。注意,这与 mutableStateOf() 函数在什么位置被定义没有关系。读取操作指的是对状态值的 get 操作。也就是取值的操作。 从一…

Rasa 3.x 学习系列-Rasa [3.4.4] - 2023-02-17新版本发布

Rasa 3.x 学习系列-Rasa [3.4.4] - 2023-02-17新版本发布 任何人都可以学习Rasa之优秀Rasa学习资源推荐 欢迎同学们报名Gavin老师的Rasa系列课程,任何人都可以学习Rasa之优秀Rasa学习资源推荐: 1.NLP on Transformers高手之路137课 2 .Rasa 3.X 智能对话机器人案例开发硬核…

Linux如何性能优化,怎么理解平均负载?如何利用系统缓存优化程序的运行效率?内存泄漏如何定位和处理?如何“快准狠”找到系统内存存在的问题?

Linux如何性能优化,怎么理解平均负载?如何利用系统缓存优化程序的运行效率?内存泄漏如何定位和处理?如何“快准狠”找到系统内存存在的问题?1. 性能优化1.1 性能指标1.2 到底应该怎么理解"平均负载"1.3 平均…

插件系列 vue2安装tailwindcss

先说结论,tailwindcss在vue2中引入,可以与其它css预处理混用,并不冲突, vue3可以直接参考官网的安装方式即可。 官方网址:https://www.tailwindcss.cn/ 安装步骤: 直接安装 创建文件 tailwindcss.css main.js全局引…

分析了近500位产品经理后,得出这些产品经理的日常

前些天,我从实现网上抓取了497位产品经理的个人信息,这些产品人平均工作时间超过5年,来自200多家公司,其中152人拥有BAT 、京东、美团、网易、小米等一线互联网公司工作经历,当然也有很大一部分来自不知名的创业公司。 以下是正文: 对这里面各产品经理擅长技

HBase单机版安装详细步骤

目录 一、安装HBase前置环境 1.jdk 2.hadoop 3.zookeeper 二、安装HBase步骤 (一)解压 (二)修改文件名 (三)修改配置文件 (四)配置HBase的环境变量 (五)启动HBase 1.启动hadoop 2.启动zookeeper 3.启动hbase 4.jps出现HMaster和HRegionServer 5.HBase的WebUI (…

Docker那点事

Docker引擎是用于运行和编排容器的基础设施工具。有VMware管理经验的可以将其类比为ESXi。ESXi是运行虚拟机的核心管理程序,而Docker引擎是运行容器的核心容器运行时。 其他Docker公司或第三方的产品都是围绕Docker引擎进行开发和集成的。如图 所示,Docker引擎位于中心,其…

100种思维模型之升维思维模型-026

爱因斯坦曾说:这个层次的问题,很难靠这个层次的思考来解决。 如,你很穷,然后紧衣缩食,结果却依然入不敷出;你很胖,然后拼命节食,结果却依然大腹便便;你很忙,然…

海洋风场数据

本篇文章主要介绍了三种海洋风场数据集基本信息(从官网中提取我认为比较重要的信息),以及如何下载(下载中也遇到很多问题,有的问题现在也存在,大家集思广益,看看有没有好的方法!&…

CSS - 选择器详解 - 子代、后代选择器详解 - 伪类选择器 - 测试

目录测试准备:子代选择器 >测试代码:指定id的子代选择器后代选择器 (以空格隔开)指定 id 的后代选择器指定 class 类 的后代选择器多空格后代选择器详解 (特别重要)伪类选择器 :参考链接:测试准备: 新建一个测试项目文件夹 te…

WebSocket与Socket、TCP、HTTP的关系

目录:1、名词解析;2、WebSocket简介与原理;3、WebSocket和Http的关系和异同点;4、WebSocket与Socket的区别;5、Socket和TCP/IP;6、一个应用程序的通信链路;1、基础名词解析:&#xf…

十三、Spring对事务的支持

1 事务概述 什么是事务 在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全。多条DML要么同时成功&#xf…