博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于 Alpine 基础镜像构建 H2 Database 镜像
阅读量:6532 次
发布时间:2019-06-24

本文共 1563 字,大约阅读时间需要 5 分钟。

hot3.png

基于Alpine基础镜像构建H2 Database镜像

0. 说明

x.x.xxx 为h2版本,例: h2-1.4.197.jar

1. H2数据库、Docker镜像文件

2. 解压下载的压缩文件, 解压后目录如下

h2-yyyy-mm-dd(此层文件夹省略)-h2   -bin	h2.bat //Windows 控制台启动脚本	h2.sh //Linux 控制台启动脚本	h2-x.x.xxx.jar //jar包	h2w.bat //Windows 控制台启动脚本(不启动命令窗口)   +docs //帮助文档   +service //通过wrapper配置为服务(限Windows)   +src //源代码   build.bat //Windows构建脚本   build.sh //Linux构建脚本

3. 修改 /bin 文件夹下的 h2.sh 文件如下, 作为新的启动脚本(原脚本以Console方式启动, 新建一个新的启动脚本也可!)

#!/bin/shdir=$(dirname "$0")java -cp "$dir/h2-x.x.xxx.jar:$H2DRIVERS:$CLASSPATH" 	org.h2.tools.Server \# TCP 连接端口-tcp -tcpAllowOthers -tcpPort 9092 \# WEB Console 访问端口(默认 8082)-web -webAllowOthers -webPort 9091 \"$@"[注] : 修改完文件后需要赋予执行权限   chmod 744 h2.sh

4. 编写 Dockerfile(文件位置在/h2目录下, 与/bin同级)

# H2 Database Dockerfile# 选定的基础镜像(这里选择了自制的Alpine基础镜像)FROM alpine-3.8.0:1.0# 存放 h2 文件的目录(只需要/bin目录即可)VOLUME /home/h2/bin# -tcp 9092 -web 9091EXPOSE 9092 9091# 启动数据库ENTRYPOINT /home/h2/bin/h2.sh

5. 构建 alpine-3.8.0-h2:1.0 镜像(在/h2目录下执行)

docker build --force-rm --rm --no-cache -t alpine-3.8.0-h2:1.0 .

6. 使用启动命令启动容器

docker run --name h2-database \-d \-p 9091:9091 \-p 9092:9092 \-v /home/develop/jdk1.8.0_181:/opt/java/default-jdk \-v /home/h2-2018-03-18/h2/bin:/home/h2/bin \alpine-3.8.0-h2:1.0[注]:- 容器的两个端口请根据实际情况自行映射- 镜像内部未安装JDK,此处使用外部映射- 为数据文件安全起见,映射数据存放目录至宿主机,方便备份、留存.

7. 启动成功

8. 访问 Web Console

9. 以 Server 模式, 在指定目录(/home/h2/bin)下创建数据库文件(容器中)

10. 查看指定的数据文件"h2database"已经在指定文件夹生成(宿主机)

- [注]

  • JDBC URL"中指定了"/home/h2/bin"作为数据文件的存储路径(在容器内部).
  • docker run 命令中指定了宿主机和容器内目录的挂载,数据文件在宿主机相应目录下也可以查看到.

转载于:https://my.oschina.net/u/3764794/blog/2989040

你可能感兴趣的文章
前端进阶(13) - 搭建自己的前端脚手架
查看>>
数据挖掘(二):认识数据
查看>>
从零开始写一个npm包,一键生成react组件(偷懒==提高效率)
查看>>
Golang中的路由
查看>>
【期末考试季】JAVA进阶复习提纲
查看>>
Volley(二)—— 基本Request对象 & RequestQueue&请求取消
查看>>
2017中国系统架构师大会“盛装”来袭
查看>>
Google插件switchysharp的用法
查看>>
中国最强的人工智能学术会议来了
查看>>
Metasploit的射频收发器功能 | Metasploit’s RF Transceiver Capabilities
查看>>
Osmocom-BB中cell_log的多种使用姿势
查看>>
主库 归档 删除策略
查看>>
linux服务器多网卡bond
查看>>
Chrome 更新策略大变:优先安装 64 位版本
查看>>
《Linux从入门到精通(第2版)》——导读
查看>>
路过下载攻击利用旧版 Android 漏洞安装勒索软件
查看>>
ThinkSNS 六大子版本体验及源码下载
查看>>
《算法基础》——1.5实际因素
查看>>
《Java数字图像处理:编程技巧与应用实践》——第3章 基本Swing UI组件与图像显示 3.1 JPanel组件与BufferedImage对象的显示...
查看>>
为什么有人讨厌 Google 的新 Logo?
查看>>