balenalib/odroid-xu4-debian-openjdk本镜像属于 balena.io 为 IoT 设备提供的基础镜像系列,专为 IoT 场景优化,适用于 balena.io 平台和 balenaOS 系统,同时也可在任何支持相应架构的 Docker 环境中运行。
提供 install_packages 脚本,抽象底层包管理器差异,具备以下特性:
默认入口点(ENTRYPOINT)为 /usr/bin/entry.sh,支持动态识别外部设备:
ENV UDEV=1 启用 udev 功能udevd 守护进程,容器内 /dev 目录将动态生成外部设备节点更多特性详情可参考 官方文档 - 特性概述。
balenalib 镜像提供多种变体,适配不同使用场景:
:<version> 或 :<version>-run(默认变体)基础运行时变体,精简设计,仅包含运行时必需组件,适用于直接部署应用的场景。
:<version>-build构建专用变体,包含大量源码构建工具(如编译器、链接器等),减少 Dockerfile 中手动安装依赖的需求,从而降低系统中所有镜像的总大小。
查看官方文档了解更多变体差异
OpenJDK(Open Java Development Kit)是 Java 平台标准版(Java SE)的免费开源实现,自 Java SE 7 起成为官方参考实现。
更多信息:*** - OpenJDK
Java 是 Oracle 及其关联公司的注册商标。
!OpenJDK Logo
| 环境变量 | 取值 | 说明 |
|---|---|---|
UDEV | 1 | 启用 udev 功能,启动 udevd 守护进程,动态生成容器内 /dev 设备节点 |
通过 Dockerfile 将本镜像同时作为构建和运行环境,编译并启动 Java 应用:
dockerfile# 以 odroid-xu4 架构为例,其他架构替换镜像名前缀即可 FROM balenalib/odroid-xu4-debian-openjdk:latest COPY . /usr/src/myapp WORKDIR /usr/src/myapp RUN javac Main.java # 编译应用 CMD ["java", "Main"] # 启动应用
构建并运行镜像:
bash# 构建镜像 docker build -t my-java-app . # 运行容器(交互式,退出时自动清理) docker run -it --rm --name my-running-app my-java-app
如需仅编译代码(不运行),可通过挂载本地目录执行编译命令:
bash# 将当前目录挂载到容器内 /usr/src/myapp,编译 Main.java docker run --rm -v "$PWD":/usr/src/myapp -w /usr/src/myapp \ balenalib/odroid-xu4-debian-openjdk:latest \ javac Main.java
编译产物(Main.class)将生成在本地当前目录。
:<version>-run 变体部署生产环境应用,减少资源占用:<version>-build 变体简化 Java 应用的编译流程,减少手动依赖安装如遇镜像相关问题,可通过 GitHub Issues 提交反馈。
欢迎贡献新功能、修复或更新。建议在开发前通过 GitHub Issues 讨论计划,以确保方向一致并避免重复工作。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务