行僧

参与开源,努力提升。 我的GitHub地址:https://github.com/playingjoker

制作h2数据库server镜像

    个人项目访问量并不大,需要一个微型数据库存储,采用了H2数据库。
    为了方便迁移,讲server端调整到了docker中,把数据挂载到外面,镜像内数据存储目录为 /h2/data,挂载到当前启动用户docker容器的用户根目录的.h2_data目录下。也就是 ${HOME}/.h2_data 目录下。

    dockerfile文件:
    比较简单,暴露端口,把h2数据库jar包copy进去,创建挂载目录,然后启动执行。

    from jdk1.8:latest
    
    RUN mkdir -p /h2/data && mkdir -p /h2/log
    
    COPY h2-1.4.190.jar /webapp
    
    COPY entrypoint.sh /webapp
    
    VOLUME /h2
    
    CMD /webapp/entrypoint.sh
    

    docker-compose.yml

    version: '2.1'
    services:
        h2_server:
            build:
                context: ./
                dockerfile: Dockerfile
            image: h2_server:latest
            volumes:
                - "${HOME}/.h2_data:/h2"
            ports:
                - "29099:29099"
            restart: always
    

    entrypoint.sh

    #!/bin/bash
    dir=$(dirname "$0")
    #echo $dir
    java -cp "$dir/h2-1.4.190.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Server -baseDir /h2/data -tcpAllowOthers -tcpPort 29099 -webAllowOthers "$@" > /h2/log/db_h2_run.log 2>&1
    
    评论
    validate