基于 ubuntu基础镜像构建 H2 Database Server镜像
1.Dockerfile文件
FROM ubuntu:latest
# 创建目录
RUN mkdir /usr/local/java
# 拷贝jdk
ADD jdk-8u251-linux-arm64-vfp-hflt.tar.gz /usr/local/java
# h2数据库jar包
COPY h2-1.3.176.jar /h2.jar
COPY entrypoint.sh /entrypoint.sh
# 时区设置
RUN echo 'Asia/Shanghai' >/etc/timezone
# 中文乱码
ENV LANG C.UTF-8
# JDK环境变量设置
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_251
ENV JRE_HOME=/usr/local/java/jdk1.8.0_251/jre
ENV PATH=$JAVA_HOME/bin:$PATH
ENV CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/java
# 设置暴露的端口号
EXPOSE 19200
EXPOSE 8082
# 执行脚本命令(启动h2server)
CMD /entrypoint.sh
启动脚本entrypoint.sh
#!/bin/bash
java -cp /h2.jar org.h2.tools.Server -web -webAllowOthers -tcp -tcpPort 19200 -tcpAllowOthers
参数说明:
org.h2.tools.Server: 以服务器模式启动
-tcpAllowOthers: 允许远程机器通过TCP方式访问
-webAllowOthers: 允许远程机器通过浏览器访问
-webPort 8082: 默认的访问端口(8082为未被占用的端口,如果此端口已经被其他端口占用,则改为其他端口)
2.构建H2 Server镜像
docker build -t h2:v1 .
3.使用启动命令启动容器
docker run -itd -p 19200:19200 -p 8082:8082 --restart=always --memory 500m --memory-swap 600m --name h2 h2:v1
4.启动成功
5.访问 Web Console
输入地址:http://localhost:8082 访问 H2 数据库的 Web Console