当前位置: 首页 > article >正文

制作飞腾(arm)芯片架构的nexus镜像

nexus官方没有arm架构的镜像,下面介绍一种自己制作镜像的方式

1、事先准备

  • 在一个arm架构机器上安装docker
  • 下载nexus的linux版(https://www.sonatype.com/download-oss-sonatype)
  • 下载centos的arm架构镜像(docker pull centos-centos8.4.2105)
  • 下载arm版本的java8(https://www.oracle.com/cn/java/technologies/downloads/archive/)

2、编写运行nexus的脚本start-nexus-repository-manager.sh

下面脚本中的java版本和nexus版本需要根据自己下载的修改

#!/bin/bash
umask 0027
JAVA_HOME="/usr/local/jdk.1.8.0_391"
PATH=$JAVA_HOME/bin:$PATH
nexus_base="/opt/nexus"
if [ -z "$(ls -A ${nexus_base})" ]; then
  cd /opt
  tar -zxf nexus-3.29.2-02-unix.tar.gz -C ${nexus_base}
  chown -R nexus:nexus ${nexus_base}
  rm -rf nexus-3.29.2-02-unix.tar.gz
fi
cd ${nexus_base}/nexus-3.29.2-02/bin
exec ./nexus run


3、编写Dockerfile

下面文件中的nexus和java版本根据实际情况修改

FROM centos:centos8.4.2105
ENV NEXUS_VERSION="3.29.2-02" 
ENV NEXUS_BASE="/opt/nexus"
ENV JRE_VERSION="8u391"
RUN groupadd -g 1000  nexus && useradd -r -u 1000 -g 1000 -m -c "Nexus Repository Manager" -d ${NEXUS_BASE} -s /bin/false nexus && mkdir -p ${NEXUS_BASE}
ADD jdk-${JRE_VERSION}-linux-aarch64.tar.gz /usr/local/
COPY nexus-${NEXUS_VERSION}-unix.tar.gz /opt
COPY start-nexus-repository-manager.sh /opt
RUN chown -R nexus:nexus ${NEXUS_BASE} /opt/start-nexus-repository-manager.sh
RUN chmod +x /opt/start-nexus-repository-manager.sh
VOLUME ${NEXUS_BASE}
EXPOSE  8081 8443
USER nexus
CMD ["sh", "-c", "/opt/start-nexus-repository-manager.sh"]

4、制作镜像

docker build -t nexus-arm:3.29-2-02

5、测试运行nexus

mkdir -p /opt/nexus
chmod 777 -R /opt/nexus
docker run -it -d --name nexus -v /opt/nexus:/opt/nexus -p 8081:8081 nexus-arm:3.29.2-02

如果机器配置差,启动时间很长,我启动了大概10分钟左右

docker ps
在这里插入图片描述
访问IP:8081
在这里插入图片描述


http://www.kler.cn/a/160615.html

相关文章:

  • 【go从零单排】Random Numbers、Number Parsing
  • GEE 数据集——美国gNATSGO(网格化国家土壤调查地理数据库)完整覆盖了美国所有地区和岛屿领土的最佳可用土壤信息
  • 【贪心算法】——力扣763. 划分字母区间
  • 十九:Spring Boot 依赖(4)-- spring-boot-starter-security依赖详解
  • SQL50题
  • 【智谱开放平台-注册/登录安全分析报告】
  • 朝花夕拾华山平台流水账
  • 智慧景区(园区)数字孪生可视化GIS解决方案
  • Linux自启服务提示:systemd[1]: *.service: main process exited, code=exited, status=1问题
  • 创建Vue2项目,引入chart.js,并生成柱形图
  • gradle 启动报错,CreateProcess error=206, 文件名或扩展名太长
  • html css样式选择器介绍
  • uniapp使用v-html调用接口,富文本图片 视频自适应大小
  • 微信小程序:chooseimage从本地相册选择图片或使用相机拍照
  • DAPP开发【06】nodejs安装与npm路径更换
  • NDK交叉编译工具链使用教程
  • 日常开发日志
  • Shopify二次开发之五:元字段(Metafields)
  • 2023年山东省职业院校技能大赛信息安全管理与评估二三阶段样题
  • nodejs微信小程序+python+PHP新闻发布系统的设计与实现-计算机毕业设计推荐
  • prometheus|云原生|轻型日志收集系统loki+promtail的部署说明
  • 什么是高防IP,高防IP该如何选择。
  • Stable Diffusion AI绘画系列【18】:东方巨龙,威武霸气
  • 直播录屏软件哪个好?这3款软件请你收好
  • 简单使用selenium抓取微博热搜话题存储进Excel表格中
  • TTS声音合成:paddlespeech、sherpa-onnx、coqui-ai