diff --git a/test/docker/docker-compose.yml b/test/docker/docker-compose.yml index 954a1661bcafb0fb175352f2c5986edc11914639..f890a764d7bf2e3a2482df534a5208d3d076a847 100644 --- a/test/docker/docker-compose.yml +++ b/test/docker/docker-compose.yml @@ -20,7 +20,7 @@ services: restart: unless-stopped build: context: java - dockerfile: Dockerfile + dockerfile: Dockerfile.alpine volumes: - faketime:/var/lib/faketime dropwizard: @@ -29,7 +29,7 @@ services: restart: unless-stopped build: context: dropwizard - dockerfile: Dockerfile + dockerfile: Dockerfile.alpine volumes: - faketime:/var/lib/faketime ports: diff --git a/test/docker/dropwizard/Dockerfile.alpine b/test/docker/dropwizard/Dockerfile.alpine new file mode 100644 index 0000000000000000000000000000000000000000..79ea5e2b5da9d94ec80be6ca3a4151c110aca6ab --- /dev/null +++ b/test/docker/dropwizard/Dockerfile.alpine @@ -0,0 +1,30 @@ +## +## Build +## +FROM maven:3-openjdk-17-slim AS mvn +COPY . /usr/src/build +WORKDIR /usr/src/build +RUN mvn package + +FROM openjdk:17-alpine AS faketime +RUN apk update +RUN apk upgrade +RUN apk add bash git build-base +RUN git clone -b 'v0.9.10' --single-branch --depth 1 https://github.com/wolfcw/libfaketime.git +RUN cd /libfaketime/src && make install + +## +## Deploy +## +FROM openjdk:17-alpine +COPY --from=faketime /usr/local/lib/faketime /usr/local/lib/faketime +ENV LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 +ENV FAKETIME_DONT_RESET=1 +ENV FAKETIME_CACHE_DURATION=1 +ENV FAKETIME_DONT_FAKE_MONOTONIC=1 +ENV FAKETIME_TIMESTAMP_FILE=/var/lib/faketime/faketimerc +COPY --from=mvn /usr/src/build/target/faketime-demo-1.0-SNAPSHOT.jar /faketime-demo.jar +EXPOSE 8080 +EXPOSE 8081 +ENTRYPOINT ["java", "-jar", "/faketime-demo.jar"] +CMD [ "server" ] diff --git a/test/docker/java/Dockerfile.alpine b/test/docker/java/Dockerfile.alpine new file mode 100644 index 0000000000000000000000000000000000000000..81ce6175cc1384d34207eaa7816c06002e84db65 --- /dev/null +++ b/test/docker/java/Dockerfile.alpine @@ -0,0 +1,18 @@ +FROM openjdk:17-alpine AS faketime +RUN apk update +RUN apk upgrade +RUN apk add bash git build-base +RUN git clone -b 'v0.9.10' --single-branch --depth 1 https://github.com/wolfcw/libfaketime.git +RUN cd /libfaketime/src && make install + +FROM openjdk:17-alpine +COPY --from=faketime /usr/local/lib/faketime /usr/local/lib/faketime +ENV LD_PRELOAD=/usr/local/lib/faketime/libfaketime.so.1 +ENV FAKETIME_DONT_RESET=1 +ENV FAKETIME_CACHE_DURATION=1 +ENV FAKETIME_DONT_FAKE_MONOTONIC=1 +ENV FAKETIME_TIMESTAMP_FILE=/var/lib/faketime/faketimerc +WORKDIR /root +COPY Main.java /root/ +RUN javac Main.java +CMD java Main