subjectid commited on
Commit
287ebad
·
verified ·
1 Parent(s): fff7508

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +38 -22
Dockerfile CHANGED
@@ -1,34 +1,50 @@
1
  FROM gradle:9.6-jdk21 AS builder
2
-
3
  WORKDIR /app
4
  RUN --mount=type=secret,id=TOKEN,target=/run/secrets/TOKEN \
5
  export SECRET_VALUE=$(cat /run/secrets/TOKEN) && \
6
- git clone "https://subjectid1:${SECRET_VALUE}@github.com/subjectid65/ps.git" target
7
-
8
  WORKDIR /app/target
9
- RUN chmod +x ./gradlew
10
- RUN ./gradlew bootJar
11
-
12
- # Use OpenJDK base image for Runner stage
13
- FROM openjdk:21-jre-slim
14
-
15
- # Create directory for application
16
- WORKDIR /app
17
- COPY --from=builder /app/target/build/libs/*.jar app.jar
18
-
19
- # Install MongoDB server
20
  RUN apt-get update && apt-get install -y \
21
- mongodb-org-server \
22
  && rm -rf /var/lib/apt/lists/*
23
 
24
- # Create data directory and set permissions
25
- RUN mkdir -p /data/db && chown -R 1001:1001 /data/db
 
26
 
27
- # Expose ports
28
- EXPOSE 7860 27017
 
 
 
 
29
 
30
- # Set Java options
 
 
 
31
  ENV JAVA_OPTS="-Dserver.port=7860 -XX:InitialRAMPercentage=50.0 -XX:MaxRAMPercentage=75.0"
 
 
 
 
 
 
 
 
32
 
33
- # Start both MongoDB and the application
34
- CMD ["sh", "-c", "mongod --bind_ip_all & java $JAVA_OPTS -jar app.jar"]
 
 
 
 
 
 
 
 
 
 
1
  FROM gradle:9.6-jdk21 AS builder
 
2
  WORKDIR /app
3
  RUN --mount=type=secret,id=TOKEN,target=/run/secrets/TOKEN \
4
  export SECRET_VALUE=$(cat /run/secrets/TOKEN) && \
5
+ git clone "https://subjectid1:${SECRET_VALUE}@github.com/subjectid65/hq.git" target
 
6
  WORKDIR /app/target
7
+ RUN chmod +x ./gradlew
8
+ RUN ./gradlew bootJar
9
+ FROM mongo:8.8 AS Runner
10
+ # Install Java 21 (using Debian/Ubuntu base of the Mongo image)
 
 
 
 
 
 
 
11
  RUN apt-get update && apt-get install -y \
12
+ openjdk-21-jdk \
13
  && rm -rf /var/lib/apt/lists/*
14
 
15
+ # Copy the built JAR from the builder stage
16
+ # WORKDIR /app
17
+ # COPY --from=builder /app/target/*.jar app.jar
18
 
19
+ # Expose Java (8080) and MongoDB (27017) ports
20
+ # EXPOSE 8080 27017
21
+ RUN mkdir -p /data/db
22
+ RUN chown -R 10014:10014 /data/db
23
+ USER 10014
24
+
25
 
26
+ # Start MongoDB and the Java application concurrently
27
+ # CMD ["sh", "-c", "mongod --bind_ip_all & java -jar app.jar"]
28
+
29
+
30
  ENV JAVA_OPTS="-Dserver.port=7860 -XX:InitialRAMPercentage=50.0 -XX:MaxRAMPercentage=75.0"
31
+ COPY --from=builder app/target/build/libs/*.jar app/app.jar
32
+
33
+
34
+ WORKDIR app
35
+
36
+
37
+
38
+ #USER ROOT
39
 
40
+ EXPOSE 7860 27017
41
+
42
+ # 赋予执行权限
43
+ #RUN chmod +x /entrypoint.sh
44
+ # 设置入口
45
+ # ENTRYPOINT ["/entrypoint.sh"]
46
+
47
+ #ENTRYPOINT ["sh", "-c", "mongod --bind_ip_all","&&java", "-jar", "app.jar", "--server.port=7860"]
48
+ #CMD ["sh", "-c", "mongod --bind_ip_all"]
49
+ CMD ["sh", "-c", "mongod --bind_ip_all & java $JAVA_OPTS -jar app.jar"]
50
+ #ENTRYPOINT ["sh", "-c", "mongod --bind_ip_all&&exec java -jar app.jar --server.port=7860"]