Solo 博客 Arm64 Aarch64 ArmV8 版本搭建方法

本贴最后更新于 1021 天前,其中的信息可能已经水流花落

Solo 博客虽然 D 大没有提供 Arm64 版本的镜像文件,但是熟悉 Docker 的人应该都会利用 docker build 机制手工构建 Armv8 架构的 Docker 镜像。

#1.查看 gitee 上的源码 Dockerfile 文件#

FROM maven:3.8.4-openjdk-11 as MVN_BUILD WORKDIR /opt/solo/ ADD . /tmp RUN cd /tmp && mvn package -DskipTests -Pci -q && mv target/solo/* /opt/solo/ \ && cp -f /tmp/src/main/resources/docker/* /opt/solo/ FROM openjdk:18-alpine LABEL maintainer="Liang Ding<845765@qq.com>" WORKDIR /opt/solo/ COPY --from=MVN_BUILD /opt/solo/ /opt/solo/ RUN apk add --no-cache ca-certificates tzdata ENV TZ=Asia/Shanghai ARG git_commit=0 ENV git_commit=$git_commit EXPOSE 8080 ENTRYPOINT [ "java", "-cp", "lib/*:.", "org.b3log.solo.Server" ]

从上面可知 From 关键字拉取了,两个基础镜像包。好在 Docker 生态越来越好,基础镜像包都有对应的 arm64 版本的,直接替换就好。

#替换后的 Dockerfile 的文件内容如下所示#

其实也就是 将语句 【FROM openjdk:18-alpine】 改成了【FROM jcxldn/openjdk-alpine:16-jdk】 即可

FROM maven:3.8.4-openjdk-11 as MVN_BUILD WORKDIR /opt/solo/ ADD . /tmp RUN cd /tmp && mvn package -DskipTests -Pci -q && mv target/solo/* /opt/solo/ \ && cp -f /tmp/src/main/resources/docker/* /opt/solo/ FROM jcxldn/openjdk-alpine:16-jdk LABEL maintainer="Liang Ding<845765@qq.com>" WORKDIR /opt/solo/ COPY --from=MVN_BUILD /opt/solo/ /opt/solo/ RUN sed -i 's!http://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories RUN apk add --no-cache ca-certificates tzdata ENV TZ=Asia/Shanghai ARG git_commit=0 ENV git_commit=$git_commit EXPOSE 8080 ENTRYPOINT [ "java", "-cp", "lib/*:.", "org.b3log.solo.Server" ]

#3.通过 Git 命令的 Clone 指令 下载源码文件到本地的 arm64 服务器家目录 执行本地编译即可#

git clone https://gitee.com/dl88250/solo.git

然后进入含有 Dockerfile 的文件夹内,按照步骤 1,2 修改 Dockerfile 中的基础镜像包文件名

指令 [RUN sed -i 's!http://dl-cdn.alpinelinux.org/!https://mirrors.ustc.edu.cn/!g' /etc/apk/repositories]

作用用来进行软件包国内加速使用的镜像站

最后执行 docker build -t 88250/solo:1.0 . 命令进行本地化编译即可

#4.最后 如果懒的编译也可以下载我提供的编译好的 arm64 solo 包镜像 导入即可#

--envRUNTIME_DB="MYSQL" --envJDBC_USERNAME="root" --envJDBC_PASSWORD="123456" --envJDBC_DRIVER="com.mysql.cj.jdbc.Driver" --envJDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true" 88250/solo:1.0--listen_port=8080 --server_scheme=http --server_host=localhost --server_port=localhost

具体的安装流程参考 D 大 gitee 项目 88250/solo

最后希望 D 大后期可以直接在 DockerHub 中直接放出 ARM64 的兼容镜像,这样也能方便大家在 Arm 架构上使用上 D 大的杰作!

2 操作
wyisolo 在 2022-09-28 16:59:28 更新了该帖
wyisolo 在 2022-09-28 16:54:41 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 521 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    497 引用 • 934 回帖 • 1 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 71 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 698 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 52 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    374 引用 • 1859 回帖 • 1 关注
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 1 关注
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖 • 1 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 766 关注
  • 区块链

    区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法 。

    92 引用 • 752 回帖 • 2 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 3 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 710 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 113 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 643 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 8 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    173 引用 • 414 回帖 • 365 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    201 引用 • 120 回帖 • 3 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖 • 1 关注
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    36 引用 • 200 回帖 • 39 关注
  • sts
    2 引用 • 2 回帖 • 243 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    84 引用 • 414 回帖
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 818 回帖