Update Dockerfile
Browse files- 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 ["
|
|
|
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"]
|