我是靠谱客的博主 现实酒窝,这篇文章主要介绍完美解决ARM32架构下的Docker环境,OpenJDK官方没有8版本镜像,树莓派4b逐步操作示例,现在分享给大家,希望可以做个参考。

本文参考:https://blog.csdn.net/boling_cavalry/article/details/101855126,感谢提供思路

多的不说,情况大家都知道常规Java开发都是基于64位cpu。如果要在docker上运行jar项目,编译镜像大都from java:8。

实际上却不能在树莓派上如愿运行,因为PI的cpu是arm架构的,要想成功运行,必须准备arm电脑上正常运行的jdk版本,编译成docker镜像。

本文提到的树莓派4b使用官方镜像32位系统,树莓派3b逻辑上应该也可按本文进行重现,各位欢迎大佬留言。

环境信息

  • 树莓派4b 4核4G版本
  • 系统Linux raspberrypi4 4.19.97-v7l+ #1294  【buster】
  • Docker version 19.03.6, build 369ce74

参考文档

https://blog.csdn.net/boling_cavalry/article/details/101855126

软件准备

  • xshell
  • jdk-8u241-linux-arm32-vfp-hflt.tar.gz   【其他版本各位自行选择,注意arm32】

环境准备

  • 系统基础包:buildpack-deps

注意:参考文档说用docker pull拉取镜像:docker pull buildpack-deps:stretch-scm

如果是buster,则使用命令:docker pull buildpack-deps:buster-scm

实际上各位要注意自己的系统是什么版本,如:stretch还是buster等;

同时,各位的网络不一定可以顺利拉取这个镜像,毕竟200多Mb的数据在网络不稳的情况下,很容易超时导致失败。

所以此处补充一下如何在本机编译 buildpack-deps镜像:

复制代码
1
2
3
git clone https://github.com/docker-library/buildpack-deps.git cd buildpack-deps/debian/buster docker build -t buildpack-deps:buster .

此操作会要耗时数分钟,取决于自己的机器性能,耐心等待即可,成功后使用docker images可以查看到镜像。

  • Dockerfile
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#Docker image of JDK8 in ARM32 # VERSION 8 # Author: nicolas FROM buildpack-deps:buster-scm MAINTAINER nicolas <mmxiutu@gmail.com> # Default to UTF-8 file.encoding ENV LANG C.UTF-8 ENV JAVA_HOME /usr/local/jdk8 ENV PATH $JAVA_HOME/bin:$PATH ENV JDK_FILE jdk-8u241-linux-arm32-vfp-hflt.tar.gz COPY $JDK_FILE /usr/local/ RUN mkdir -p "$JAVA_HOME"; tar --extract --file /usr/local/$JDK_FILE --directory "$JAVA_HOME" --strip-components 1 --no-same-owner; rm /usr/local/$JDK_FILE

以上参数请不要完全照抄,注意修改from镜像。

执行编译命令编译镜像:docker build -t xxx/arm32jdk:8 .

查看镜像后,执行测试命令:docker run --rm xxx/arm32jdk:8 java -version

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> docker build -t cha1024/arm32jdk:8 . >> docker images REPOSITORY TAG IMAGE ID CREATED SIZE cha1024/arm32jdk 8 c7d0e26382dd 19 minutes ago 493MB buildpack-deps buster-scm 066228d85836 5 weeks ago 242MB >> docker run --rm cha1024/arm32jdk:8 java -version java version "1.8.0_241" Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) Server VM (build 25.241-b07, mixed mode)

 至此,arm32的jdk编译完成,欢迎讨论

最后

以上就是现实酒窝最近收集整理的关于完美解决ARM32架构下的Docker环境,OpenJDK官方没有8版本镜像,树莓派4b逐步操作示例的全部内容,更多相关完美解决ARM32架构下内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(102)

评论列表共有 0 条评论

立即
投稿
返回
顶部