23 lines
1.4 KiB
Docker
23 lines
1.4 KiB
Docker
FROM eclipse-temurin:21-jdk-alpine AS build
|
|
WORKDIR /src
|
|
RUN wget -q -O /tmp/postgresql.jar https://jdbc.postgresql.org/download/postgresql-42.7.14.jar && \
|
|
echo '73914527305a40cce504b0d3d90b23caf565136912d607ae8ae7c5895512332c /tmp/postgresql.jar' | sha256sum -c -
|
|
COPY src ./src
|
|
COPY test ./test
|
|
RUN mkdir /out && javac --release 21 --add-modules jdk.httpserver,java.net.http -d /out src/cloud/lunarsky/store/*.java test/cloud/lunarsky/store/*.java
|
|
RUN java --add-modules jdk.httpserver -cp /out cloud.lunarsky.store.StoreTest
|
|
RUN java --add-modules jdk.httpserver -cp /out cloud.lunarsky.store.ConcurrencyTest
|
|
RUN java --add-modules jdk.httpserver,java.net.http -cp /out cloud.lunarsky.store.HttpTest
|
|
RUN java --add-modules jdk.httpserver,java.net.http -cp /out cloud.lunarsky.store.ClusterNodeTest
|
|
RUN java -cp /out cloud.lunarsky.store.CliTest
|
|
|
|
FROM eclipse-temurin:21-jre-alpine
|
|
RUN addgroup -g 10001 store && adduser -D -u 10001 -G store store && mkdir /data && chown store:store /data
|
|
COPY --from=build /out /app
|
|
COPY --from=build /tmp/postgresql.jar /app/postgresql.jar
|
|
COPY scripts/objectstore /usr/local/bin/objectstore
|
|
RUN chmod 755 /usr/local/bin/objectstore
|
|
USER store
|
|
EXPOSE 9000
|
|
ENTRYPOINT ["java", "-XX:MaxRAMPercentage=70", "-Dsun.net.httpserver.maxReqTime=30", "-Dsun.net.httpserver.maxRspTime=60", "-Dsun.net.httpserver.maxReqHeaders=64", "--add-modules", "jdk.httpserver,java.net.http", "-cp", "/app:/app/postgresql.jar", "cloud.lunarsky.store.Main"]
|