Files
a301_mmo_game_server/MMOTestServer/MMOserver/Dockerfile

27 lines
807 B
Docker

FROM mcr.microsoft.com/dotnet/runtime:9.0 AS base
USER $APP_UID
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
# ServerLib 의존성 포함해서 restore (캐시 레이어 최적화)
COPY ["MMOserver/MMOserver.csproj", "MMOserver/"]
COPY ["ServerLib/ServerLib.csproj", "ServerLib/"]
RUN dotnet restore "MMOserver/MMOserver.csproj"
COPY . .
WORKDIR "/src/MMOserver"
RUN dotnet build "./MMOserver.csproj" -c $BUILD_CONFIGURATION -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./MMOserver.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
# UDP 9050 포트 열기
EXPOSE 9050/udp
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "MMOserver.dll"]