2024-11-02 13:08:38 +00:00
|
|
|
|
services:
|
|
|
|
|
minecraft:
|
2024-12-29 03:08:42 +00:00
|
|
|
|
image: openjdk:17-jre # 使用 JRE 版本的镜像
|
2024-11-02 13:08:38 +00:00
|
|
|
|
container_name: minecraft-server
|
|
|
|
|
working_dir: /mc-server
|
|
|
|
|
environment:
|
2024-12-29 03:08:42 +00:00
|
|
|
|
- MAX_MEMORY=7G # 设置最大内存为 10GB
|
|
|
|
|
- MIN_MEMORY=7G # 将最小内存也设置为 10GB,确保不会低于该值
|
2024-11-02 13:08:38 +00:00
|
|
|
|
- TZ=Asia/Shanghai
|
|
|
|
|
volumes:
|
|
|
|
|
- ${MC_DIR}:/mc-server
|
2024-12-28 11:51:30 +00:00
|
|
|
|
command: >
|
2024-12-29 03:08:42 +00:00
|
|
|
|
java -Xms${MIN_MEMORY} -Xmx${MAX_MEMORY} -XX:MaxRAM=8G
|
|
|
|
|
-XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m
|
|
|
|
|
-XX:MaxDirectMemorySize=2G
|
2024-12-28 11:51:30 +00:00
|
|
|
|
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200
|
|
|
|
|
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC
|
|
|
|
|
-XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40
|
2024-12-29 03:08:42 +00:00
|
|
|
|
-XX:G1HeapRegionSize=8M -XX:G1ReservePercent=15 -XX:G1HeapWastePercent=5
|
2024-12-28 11:51:30 +00:00
|
|
|
|
-XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15
|
|
|
|
|
-XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5
|
|
|
|
|
-XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1
|
|
|
|
|
-Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
|
|
|
|
|
-jar ${JAR_FILE} nogui
|
2024-11-02 13:08:38 +00:00
|
|
|
|
ports:
|
|
|
|
|
- "25565:25565"
|
|
|
|
|
stdin_open: true
|
|
|
|
|
tty: true
|
2024-11-10 09:01:51 +00:00
|
|
|
|
restart: always
|
2024-12-29 03:08:42 +00:00
|
|
|
|
# mem_limit: 10G # 设置容器的内存限制为 10GB
|
|
|
|
|
# memswap_limit: 10G # 禁止使用 swap,并确保总内存不超过 10GB
|
|
|
|
|
# oom_score_adj: -1000
|
2024-12-28 11:51:30 +00:00
|
|
|
|
stop_grace_period: 120s # 设置关闭宽限期为 120 秒
|