Dockerfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
  2. FROM mcr.microsoft.com/dotnet/sdk:7.0 AS base
  3. RUN sed -i 's/TLSv1.2/TLSv1/g' /etc/ssl/openssl.cnf
  4. RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
  5. RUN apt-get update \
  6. && apt-get install -y --no-install-recommends dialog \
  7. && apt-get install -y --no-install-recommends openssh-server \
  8. && mkdir -p /run/sshd \
  9. && echo "root:Docker!" | chpasswd
  10. COPY sshd_config /etc/ssh/sshd_config
  11. # Install dotnet debug tools
  12. RUN dotnet tool install --tool-path /tools dotnet-trace \
  13. && dotnet tool install --tool-path /tools dotnet-counters \
  14. && dotnet tool install --tool-path /tools dotnet-dump \
  15. && dotnet tool install --tool-path /tools dotnet-gcdump
  16. EXPOSE 80
  17. EXPOSE 443
  18. EXPOSE 2222
  19. WORKDIR /app
  20. FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
  21. WORKDIR /src
  22. COPY ["EVCB_OCPP.WSServer/EVCB_OCPP.WSServer.csproj", "EVCB_OCPP.WSServer/"]
  23. COPY ["SuperWebSocket/SuperWebSocket.csproj", "SuperWebSocket/"]
  24. COPY ["SocketBase/SuperSocket.SocketBase.csproj", "SocketBase/"]
  25. COPY ["SocketCommon/SuperSocket.Common.csproj", "SocketCommon/"]
  26. COPY ["SocketEngine/SuperSocket.SocketEngine.csproj", "SocketEngine/"]
  27. RUN dotnet restore "EVCB_OCPP.WSServer/EVCB_OCPP.WSServer.csproj"
  28. COPY . .
  29. WORKDIR "/src/EVCB_OCPP.WSServer"
  30. RUN dotnet build "EVCB_OCPP.WSServer.csproj" -c Release -o /app/build
  31. FROM build AS publish
  32. RUN dotnet publish "EVCB_OCPP.WSServer.csproj" -c Release -o /app/publish /p:UseAppHost=false
  33. FROM base AS final
  34. WORKDIR /app
  35. COPY --from=publish /app/publish .
  36. ENTRYPOINT ["/bin/bash", "-c", "/usr/sbin/sshd && dotnet EVCB_OCPP.WSServer.dll"]