openEuler-24.03 ARM64 源码编译 RedisInsight

openEuler-24.03 ARM64 源码编译 RedisInsight

一、编译环境

QEMU 模拟 ARM64 命令

bash 复制代码
qemu-system-aarch64 -m 8g -cpu neoverse-n2 -smp 8,cores=8,threads=1,sockets=1 -M virt -bios E:\VMware\openEuler-24.03-LTS-SP2-aarch64\QEMU_EFI.fd -net nic -net tap,ifname=tap1212 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=E:\VMware\openEuler-24.03-LTS-SP2-aarch64\openEuler-24.03-LTS-SP2-aarch64.img,id=hd0 -device virtio-blk-device,drive=hd0

操作系统:openEuler-24.03-LTS-SP2-aarch64

node 版本:v24.12.0-linux-arm64

Python 版本:3.11.6

二、安装依赖

2.1、系统依赖

bash 复制代码
dnf update -y
dnf install -y gcc gcc-c++ make cmake git wget vim tar xz zip unzip
dnf install -y rpm-build rpmdevtools dnf-plugins-core

2.2、安装 node

bash 复制代码
mkdir -p /app
cd /app
wget -O node-v24.12.0-linux-arm64.tar.xz https://nodejs.org/dist/v24.12.0/node-v24.12.0-linux-arm64.tar.xz
xz -d node-v24.12.0-linux-arm64.tar.xz
tar -xvf node-v24.12.0-linux-arm64.tar
bash 复制代码
vim /etc/profile
bash 复制代码
#Node
export NODE_HOME=/app/node-v24.12.0-linux-arm64
export PATH=$NODE_HOME/bin:$PATH
bash 复制代码
source /etc/profile
bash 复制代码
node -v
npm -v

2.3、安装 yarn

bash 复制代码
# 设置为国内源
npm config set registry https://registry.npmmirror.com
npm install -g yarn
yarn --version
yarn config set registry https://registry.npmmirror.com

三、编译安装

3.1、下载 RedisInsight 源码

bash 复制代码
cd /app
# 方式1
git clone https://github.com/RedisInsight/RedisInsight.git
cd RedisInsight
# 方式2
wget -O RedisInsight.zip https://github.com/redis/RedisInsight/archive/refs/heads/main.zip
unzip RedisInsight.zip
cd RedisInsight

npm 国内源加速

bash 复制代码
#切换到源码根目录下RedisInsight
touch .npmrc
vim .npmrc

输入以下内容

bash 复制代码
electron_mirror=https://npmmirror.com/mirrors/electron/
registry=https://registry.npmmirror.com/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/

3.2、编译源码构建

bash 复制代码
cd /app/RedisInsight
#安装依赖
yarn install
#安装api依赖
yarn --cwd redisinsight/api install
#构建web ui资源
yarn build:ui
yarn build:statics
yarn build:api
#构建生产
yarn --cwd redisinsight/api install --production

注意: 执行命令 build:statics 时,会实时下载github的文件,如果一直连不上github,建议下载到对象存储然后替换链接

链接在文件:redisinsight/api/config/default.ts

3.2、清理 yarn 缓存

bash 复制代码
cp redisinsight/api/.yarnclean.prod redisinsight/api/.yarnclean
yarn --cwd redisinsight/api autoclean --force

3.3、运行 RedisInsight

bash 复制代码
node redisinsight/api/dist/src/main


3.4、访问 RedisInsight

IP改为你自己的IP:http://192.168.137.157:5540



四、构建 docker 镜像

4.1、Dockerfile

bash 复制代码
FROM openeuler/openeuler:24.03-lts-sp3

RUN mkdir -p /app

WORKDIR /app

USER root

#安装提供 groupadd、useradd等命令的软件包
RUN dnf update -y && \
    dnf install -y libsecret && \
    dnf install -y shadow-utils

RUN groupadd -r node -g 1000 && \
    useradd -r -u 1000 -g node -d /home/node -m node

COPY ./node-v24.12.0-linux-arm64 ./node-v24.12.0-linux-arm64

COPY ./docker-entry.sh ./
RUN chmod +x docker-entry.sh
RUN chown -R node:node docker-entry.sh

COPY ./redisinsight/api/dist ./redisinsight/api/dist
COPY ./redisinsight/api/node_modules ./redisinsight/api/node_modules
COPY ./redisinsight/ui/dist ./redisinsight/ui/dist

RUN chown -R node:node ./redisinsight

RUN mkdir -p /data && chown -R node:node /data

EXPOSE 5540

USER node

ENTRYPOINT ["./docker-entry.sh", "/app/node-v24.12.0-linux-arm64/bin/node", "redisinsight/api/dist/src/main"]

4.2、构建命令

bash 复制代码
cd ~
cp -rf /app/node-v24.12.0-linux-arm64 ~/
cp -rf /app/RedisInsight/redisinsight ~/
touch Dockerfile
docker build --platform linux/arm64 -f ~/Dockerfile -t redisinsight/openeuler-arm64:3.0.0 .

4.3、运行容器

bash 复制代码
docker run -dit -p 5540:5540 --name redisinsight redisinsight/openeuler-arm64:3.0.0


相关推荐
鹿鸣天涯18 小时前
openEuler学习笔记1-openEuler前世今生
linux·openeuler
向上的车轮19 小时前
openEuler 内核解读(五):Linux 内核模块 “Hello World” 示例
linux·openeuler
向上的车轮2 天前
openEuler 内核解读(四):Linux 内核通识:五大子系统概览
openeuler
NotStrandedYet6 天前
《国产系统运维笔记》第2期:在 openEuler 24.03 LTS 上在线部署 Tomcat 9 全记录
java·tomcat·信创·国产化·openeuler·信创运维·国产化运维
lightningyang11 天前
利用 OpenSSL 进行国际算法加密通信实验
服务器·密码学·openeuler·天枢一体化虚拟仿真靶场平台·openssl国际算法加密通信·密码实训
王闯写bug12 天前
【openEuler】修改ssh端口号
服务器·网络·ssh·openeuler
lightningyang12 天前
openEluer下CA根证书服务器部署与web服务器证书申请
openeuler·ca·天枢一体化虚拟仿真靶场平台
猫头虎14 天前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
飞翔沫沫情16 天前
OpenEuler 发行版 二进制部署docker
docker·openeuler·容器引擎