Docker - HSQL-DB 图像卷挂载不起作用

时间:2021-01-13 04:00:25

标签: docker docker-compose hybris

我正在尝试在 docker 上创建一个 HSQL 映像并将其连接到 hybris :

  1. Docker-compose.yml
version: '3'
services:
  hybris_hsql:
    # will build ./docker/hybris/Dockerfile
    build:
        context: ./
        dockerfile: ./docker/hsql/Dockerfile
    mem_reservation: 2g
    ports:
     - "3308:3308"
    volumes:
     - hsql-data:/var/opt/hsqldb/data/db0/db0
  hybris_docker:
    # will build ./docker/hybris/Dockerfile
    build:
        context: ./
        dockerfile: ./docker/hybris/Dockerfile
    depends_on:
     - hybris_hsql
    mem_reservation: 6g
    ports:
     - "9001:9001"
     - "9002:9002"
     - "8000:8000"
    volumes:
     - hybris-data:/hybris/data
     - hybris-media:/var/lib/media
volumes:
    hsql-data:
    hybris-data:
    hybris-media:
  1. Server.properties
server.database.0 = file:/var/opt/hsqldb/data/db0/db0
server.dbname.0   = db0
  1. HSQL Docker 文件
FROM openjdk:11-jdk-slim

ENV MVN_CENTRAL_URL https://repo1.maven.org/maven2
ENV HSQLDB_MVN_GRP org/hsqldb
ENV HSQLDB_VERSION 2.4.1
ENV LOG4J_VERSION 1.2.17

RUN apt-get update \                                                                                                                                                                                                                        
&& apt-get install -y ca-certificates \                                                                                                                                                                                                      
&& update-ca-certificates \
&& apt-get install -y wget \ 
&& mkdir -p /opt/hsqldb/lib \
&& wget -O /opt/hsqldb/lib/hsqldb.jar \
   "${MVN_CENTRAL_URL}/${HSQLDB_MVN_GRP}/hsqldb/${HSQLDB_VERSION}/hsqldb-${HSQLDB_VERSION}.jar" \
&& wget -O /opt/hsqldb/lib/sqltool.jar \
   "${MVN_CENTRAL_URL}/${HSQLDB_MVN_GRP}/sqltool/${HSQLDB_VERSION}/sqltool-${HSQLDB_VERSION}.jar" \
&& wget -O /opt/hsqldb/lib/log4j.jar \
   "${MVN_CENTRAL_URL}/log4j/log4j/${LOG4J_VERSION}/log4j-${LOG4J_VERSION}.jar" \
&& mkdir -p /etc/opt/hsqldb/conf \
&& mkdir -p /var/opt/hsqldb/sql \
&& mkdir -p /var/opt/hsqldb/data \
&& mkdir -p /var/opt/hsqldb/run

RUN addgroup hsqldb
RUN useradd -g hsqldb hsqldb 

COPY docker/hsql/conf/ /etc/opt/hsqldb/conf/

RUN chown hsqldb:hsqldb -R /opt/hsqldb \
&& chown hsqldb:hsqldb -R /var/opt/hsqldb \
&& chown hsqldb:hsqldb -R /etc/opt/hsqldb

EXPOSE 9001
USER hsqldb
CMD [ "java", "-cp", "/opt/hsqldb/lib/*:/etc/opt/hsqldb/conf", \"org.hsqldb.server.Server", "--props", \
"/etc/opt/hsqldb/conf/server.properties"]

当我在 hybris 中初始化时,它连接到 HSQL 数据库并创建数据,但 HSQL 文件未在安装位置生成。发布 docker-compose down 所有数据都丢失了。

0 个答案:

没有答案
相关问题