change docker file
All checks were successful
Build & Deploy Checkin Service / build (push) Successful in 1m59s

This commit is contained in:
Suphonchai Phoonsawat 2026-04-30 11:20:52 +07:00
parent e4bcfee80c
commit ffcf95c210

View file

@ -48,28 +48,6 @@ RUN dotnet build -c Release -o /app/build
# ใช้ stage ใหม่สำหรับการ runtime
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS runtime
# GC Configuration เพื่อป้องกัน Segmentation Fault
# ใช้ Server GC สำหรับ performance ที่ดีขึ้น
ENV DOTNET_SERVER_GARBAGECOLLECTION=true
# ตั้งค่า GC mode เป็น Server
ENV DOTNET_GCServer=true
# จำกัดจำนวน GC heap (ป้องกัน memory fragmentation)
ENV DOTNET_GCHeapCount=16
# เปิดใช้ GC hard limit ป้องกัน memory over-commit
ENV DOTNET_GCHeapHardLimit=268435456
# ตั้งค่า GC latency mode เป็น LowLatency (ลดเวลาที่ GC block threads)
ENV DOTNET_GCLatencyMode=0
# เพิ่มขนาด LOH (Large Object Heap) เพื่อลดการ realloc
ENV DOTNET_GCLargeObjectHeapCompactionMode=2
# ตั้งค่า ThreadPool Min Threads เพื่อป้องกัน thread starvation
ENV DOTNET_TP_MinThreads=10
ENV DOTNET_TP_MaxThreads=100
# ป้องกัน hang จาก HTTP requests
ENV DOTNET_HTTP_SOCKETS_BUFFER_SIZE=65536
# เพิ่ม stack size เพื่อป้องกัน stack overflow
ENV DOTNET_ThreadPool_LowWaterMark=10
ENV DOTNET_ThreadPool_HighWaterMark=100
# กำหนด working directory สำหรับ runtime
WORKDIR /app