Евгений Колесников 5 months ago
parent
commit
6d6be8e955
2 changed files with 6 additions and 4 deletions
  1. 2 1
      articles/docker_cs.md
  2. 4 3
      docker/api_cs/Dockerfile.standalone

+ 2 - 1
articles/docker_cs.md

@@ -336,4 +336,5 @@ test-api               latest       3b986ccd7bbf   2 weeks ago         254MB
 test-mysql             latest       72f91044024b   2 weeks ago         800MB
 ```
 
-Видно, что **runtime** занимает в четыре раза меньше места чем **sdk**, а вот использование **standalone** неочевидно: `521 - 360 = 160` - примерно столько занимают библиотеки, которые придется таскать вместо .NET, но из `360MB` **runtime** образа около `200МБ` занимает сам линукс, поэтому экономии не видно. Если использовать минималистичесую версию линукс **alpine**, образ которой "весит" всего `20МБ`, то теоретически можно ужать наш образ до `180MB`.     
+Видно, что **runtime** занимает в четыре раза меньше места чем **sdk**. 
+Использование **standalone** проверить не смог, образ **alpine** не скачивается. Удалось скачать образ **scratch**, образ на его основеучше занимает `160Мб`, но приложение в нем не запускается...

+ 4 - 3
docker/api_cs/Dockerfile.standalone

@@ -8,9 +8,10 @@ RUN dotnet build api_cs.csproj -c $BUILD_CONFIGURATION -o ./build
 RUN dotnet publish api_cs.csproj -c $BUILD_CONFIGURATION -o ./publish -r linux-arm64 --self-contained true
 
 # FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS runtime
-FROM ubuntu AS runtime
+FROM alpine AS runtime
 WORKDIR /app
 COPY --from=build /src/publish .
 
-RUN chmod 777 ./api_cs
-CMD ./api_cs
+# RUN chmod 777 ./api_cs
+ENTRYPOINT [ "./api_cs" ] 
+# CMD ["dotnet", "/app/api_cs.dll"]