86 lines
1.7 KiB
Markdown
86 lines
1.7 KiB
Markdown
# Java Runtime
|
|
|
|
多版本 Java 运行时环境,用于运行各类 Java 服务。
|
|
|
|
## 基础镜像
|
|
|
|
- `debian:latest`
|
|
|
|
## 包含环境
|
|
|
|
| 组件 | 版本 |
|
|
|------|------|
|
|
| JRE | 8, 21 (Eclipse Temurin) |
|
|
| 时区 | Asia/Shanghai |
|
|
| 字符集 | UTF-8 |
|
|
|
|
## JRE 路径
|
|
|
|
| 版本 | 路径 |
|
|
|------|------|
|
|
| JRE 8 | `/usr/lib/jvm/temurin-8-jre-amd64` |
|
|
| JRE 21 | `/usr/lib/jvm/temurin-21-jre-amd64` |
|
|
|
|
默认使用 JRE 21。
|
|
|
|
## 预装依赖
|
|
|
|
- **网络工具**: curl, openssh-client
|
|
- **进程工具**: procps, net-tools, iproute2
|
|
- **字体支持**: 文泉驿微米黑、文泉驿正黑、文鼎楷体、文鼎宋体
|
|
- **图形库**: libjpeg, libpng, libfreetype, fontconfig
|
|
- **数据库客户端**: libmariadb3, libpq5
|
|
|
|
## 构建
|
|
|
|
```bash
|
|
./rebuild.sh java_runtime
|
|
```
|
|
|
|
## 使用
|
|
|
|
### 运行 JAR 应用
|
|
|
|
```bash
|
|
# 使用默认 JRE 21
|
|
docker run --rm -v /path/to/app:/app timi/java_runtime:latest java -jar /app/app.jar
|
|
|
|
# 使用 JRE 8
|
|
docker run --rm -e JAVA_HOME=/usr/lib/jvm/temurin-8-jre-amd64 \
|
|
-v /path/to/app:/app timi/java_runtime:latest \
|
|
/usr/lib/jvm/temurin-8-jre-amd64/bin/java -jar /app/app.jar
|
|
```
|
|
|
|
### 作为基础镜像
|
|
|
|
```dockerfile
|
|
FROM timi/java_runtime:latest
|
|
|
|
COPY target/app.jar /app/app.jar
|
|
|
|
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
|
|
```
|
|
|
|
### Docker Compose 示例
|
|
|
|
```yaml
|
|
services:
|
|
myapp:
|
|
image: timi/java_runtime:latest
|
|
volumes:
|
|
- ./app.jar:/app/app.jar
|
|
command: java -jar /app/app.jar
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
```
|
|
|
|
## 环境变量
|
|
|
|
| 变量 | 默认值 |
|
|
|------|--------|
|
|
| `JAVA_HOME` | `/usr/lib/jvm/temurin-21-jre-amd64` |
|
|
| `JAVA8_HOME` | `/usr/lib/jvm/temurin-8-jre-amd64` |
|
|
| `JAVA21_HOME` | `/usr/lib/jvm/temurin-21-jre-amd64` |
|
|
| `TZ` | `Asia/Shanghai` |
|
|
| `LANG` | `C.UTF-8` |
|