asfag654 commited on
Commit
95b46d0
1 Parent(s): 748c2f5

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -3
Dockerfile CHANGED
@@ -1,3 +1,4 @@
 
1
  FROM openjdk:21-jdk-slim
2
 
3
  # 更新包列表并安装 curl
@@ -9,14 +10,17 @@ RUN mkdir -p /minecraft/cache && chmod -R 777 /minecraft/cache
9
  # 创建必要的目录并设置权限
10
  RUN mkdir -p /minecraft/versions/1.21 && chmod -R 777 /minecraft/versions
11
 
 
 
 
 
12
  # 设置工作目录
13
  WORKDIR /minecraft
14
 
15
  # 复制 Paper jar 文件到工作目录并设置权限
16
  COPY paper.jar /minecraft/paper.jar
17
  COPY 1.21.jar /minecraft/1.21.jar
18
- RUN chmod 777 /minecraft/paper.jar
19
- RUN chmod 777 /minecraft/1.21.jar
20
 
21
  # 复制配置文件
22
  COPY server.properties /minecraft/server.properties
@@ -27,6 +31,12 @@ RUN curl ifconfig.me
27
 
28
  # 暴露 Minecraft 服务器默认端口
29
  EXPOSE 25565
 
 
30
  RUN chmod -R 777 /minecraft
 
 
 
 
31
  # 启动命令
32
- CMD ["java", "-Xms4G", "-Xmx8G", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=50", "-XX:+UnlockExperimentalVMOptions", "-XX:+ParallelRefProcEnabled", "-XX:+AlwaysPreTouch", "-XX:G1HeapWastePercent=5", "-XX:G1MixedGCCountTarget=4", "-XX:G1MixedGCLiveThresholdPercent=90", "-XX:InitiatingHeapOccupancyPercent=15", "-XX:G1NewSizePercent=30", "-XX:G1MaxNewSizePercent=40", "-XX:G1HeapRegionSize=16M", "-jar", "1.21.jar", "nogui"]
 
1
+ # 使用OpenJDK作为基础镜像
2
  FROM openjdk:21-jdk-slim
3
 
4
  # 更新包列表并安装 curl
 
10
  # 创建必要的目录并设置权限
11
  RUN mkdir -p /minecraft/versions/1.21 && chmod -R 777 /minecraft/versions
12
 
13
+ # 下载并安装cloudflared
14
+ RUN curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && \
15
+ dpkg -i cloudflared.deb
16
+
17
  # 设置工作目录
18
  WORKDIR /minecraft
19
 
20
  # 复制 Paper jar 文件到工作目录并设置权限
21
  COPY paper.jar /minecraft/paper.jar
22
  COPY 1.21.jar /minecraft/1.21.jar
23
+ RUN chmod 777 /minecraft/paper.jar /minecraft/1.21.jar
 
24
 
25
  # 复制配置文件
26
  COPY server.properties /minecraft/server.properties
 
31
 
32
  # 暴露 Minecraft 服务器默认端口
33
  EXPOSE 25565
34
+
35
+ # 设置所有文件的权限
36
  RUN chmod -R 777 /minecraft
37
+
38
+ # 创建cloudflared配置文件
39
+ COPY config.yml /etc/cloudflared/config.yml
40
+
41
  # 启动命令
42
+ CMD ["sh", "-c", "cloudflared tunnel --config /etc/cloudflared/config.yml run && java -Xms4G -Xmx8G -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:G1MixedGCLiveThresholdPercent=90 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=16M -jar 1.21.jar nogui"]