subjectid commited on
Commit
17189ab
·
verified ·
1 Parent(s): f7860dc

Create Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +50 -0
Dockerfile ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM gradle:9.6-jdk21 AS build
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/subjectid1/claude.git" target
6
+ WORKDIR /app/target
7
+ RUN chmod +x ./gradlew
8
+ RUN ./gradlew bootJar
9
+ FROM mongo:8.0 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=build 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
+
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"]