rxr_docker_compose/rxr_mc/docker-compose.yaml

34 lines
1.5 KiB
YAML
Raw Normal View History

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 秒