nacos2.3.2部署(鲲鹏arm版)

1.说明

    本次编译是因为公司适配鲲鹏arm系列,业务涉及到了nacos-server,所以就选择最新版本进行了编译,期间也想直接使用官方镜像nacos/nacos-server: v2.1.2-slim、nacos/nacos-server:v2.2.0-slim,无一例外失败了,启动不了,所以最后只能选择源码编译,在制作镜像的方式进行。

2.编译服务器信息

#系统信息
[root@location ~ ]# cat /etc/os-release 
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Tercel)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Tercel)"
ANSI_COLOR="0;31"

#芯片信息
[root@location ~ ]# lscpu
Architecture:                      aarch64
CPU op-mode(s):                    64-bit
Model name:                        Kunpeng-920

3.maven环境安装

#下载maven包
https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz

#解压到指定目录
tar zxf apache-maven-3.9.6-bin.tar.gz -C /data/build/

#配置环境变量
添加到/etc/profile最后
export MAVEN_HOME=/data/build/apache-maven-3.9.6
export PATH=$PATH:$MAVEN_HOME/bin

source /etc/profile

4.nacos编译

4.1 下载nacos源码包

https://github.com/alibaba/nacos/archive/refs/tags/2.3.2.tar.gz

4.2 解压

tar zxf nacos-2.3.2.tar.gz -C /data/build/

4.3 编译

cd /data/build/nacos-2.3.2

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

4.4 拿到nacos编译包(两个一样)

ls /data/build/nacos-2.3.2/distribution/target
nacos-server-2.3.2.tar.gz  
nacos-server-2.3.2.zip

4.5 可以进行启动测试,我当前部署单机版

cp -f /data/build/nacos-2.3.2/distribution/target/nacos-server-2.3.2.tar.gz /data/dockerfile/

cd /data/dockerfile

tar zxf nacos-server-2.3.2.tar.gz 

cd nacos/bin && sh startup.sh -m standalone  #启动单机版
 ps -ef |grep nacos #查看是否有ancos进程

5.使用dockerfile做成镜像

5.1 编写dockerfile

#Dockerfile

FROM arm64v8/centos:7


# 复制 JDK 压缩包到容器中的 /tmp 目录下
COPY jdk-8u271-linux-aarch64.tar.gz /tmp/

# 解压 JDK 压缩包到 /usr/lib/jvm 目录下
RUN tar -xzf /tmp/jdk-8u271-linux-aarch64.tar.gz -C /usr/local/ \
    && rm /tmp/jdk-8u271-linux-aarch64.tar.gz

# 设置 JAVA_HOME 环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_271

# 添加 JAVA_HOME 到 PATH
ENV PATH $PATH:$JAVA_HOME/bin


# 复制 nacos-server-2.3.2.tar.gz 到 /home 目录下
ADD nacos-server-2.3.2.tar.gz /home/

# 切换到 /home 目录并解压 nacos-server
WORKDIR /home/nacos/bin/

COPY docker-startup.sh ./

# 暴露 Nacos 服务端口(如果需要)
EXPOSE 38848

# 设置容器启动时执行的命令
CMD ["sh", "docker-startup.sh"]

5.2 编写nacos容器启动脚本docker-startup.sh

#!/bin/bash
sh startup.sh -m standalone
tail -f /dev/null

5.3 上传arm版本的jdk包

jdk-8u271-linux-aarch64.tar.gz  #需自行下载对应的版本

5.4 制作镜像需要的文件如下

├── Dockerfile
├── docker-startup.sh
├── jdk-8u271-linux-aarch64.tar.gz
├── nacos-server-2.3.2.tar.gz

5.5 端口修改需求,因为我业务需要,所以需要修改对应的nacos监听端口,默认8848,我需要改为38848

#解压编译好的nacos-2.3.2.tar.gz,修改配置文件nacos/conf/application.properties
### Default web server port:
server.port=8848

修改为
server.port=38848

#重新归档
tar zcf nacos-2.3.2.tar.gz nacos

5.6 制作镜像

docker build . -t 172.16.88.150:8888/public/arm/nacos-server:2.3.2

6.启动nacos容器(docker-compose)

6.1 下载arm版docker-compose

https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-aarch64

mv docker-compose-linux-aarch64 /usr/bin/

chmod +x /usr/bin/docker-compose

6.2 编写docker-compose.yaml文件

version: "3"
services:
  nacos-derby:
    image: 172.16.88.150:8888/public/arm/nacos-server:2.3.2
    container_name: nacos-slim

    volumes:
      - ${PWD}/logs/:/home/nacos/logs/
      - ${PWD}/data/:/home/nacos/data/
    ports:
      - "38848:38848"
      - "39848:9848"
      - "39555:9555"

6.3 启动

docker-compose up -d

7.参考文档

#nacos编译文档(arm)
https://blog.csdn.net/m0_49419441/article/details/110633519
#maven下载文档(arm)
https://blog.csdn.net/qq_34322136/article/details/135547189
#docker-compose下载文档(arm)
https://blog.csdn.net/qq_23845083/article/details/130768859

 

posted @ 2024-05-16 13:16  Leonardo-li  阅读(1883)  评论(0编辑  收藏  举报