У меня есть этот dockerfile для компиляции и запуска API, который довольно мал, созданный в Netfw461.
Итак, я исследовал, чтобы получить желаемый результат, так что вот оно. Я использовал многоступенчатый, чтобы уменьшить размер в теории изображения, но я попробовал несколько вещей и до сих пор не могу уменьшить с 5,5 ГБ.
Вот мой докер-файл (с скрытыми значениями для конфиденциальности)
# escape=`
##########################
# STAGE: build
FROM microsoft/dotnet-framework:4.7.2-sdk AS app-build
# copy the needed files to build
COPY <solution files> into /appsrc/src
# build the package, and it will generate output to \appsrc\out folder (location in pubxml file)
RUN ["msbuild", "<mycsproj in sln>", "/p:Configuration=Release;DeployOnBuild=true;PublishProfile=<publishfile>"]
##########################
# STAGE: configure OS to have IIS and ASPNET (try not to modify this)
FROM microsoft/aspnet:4.7.2 as aspnet-run
COPY --from=app-build C:\\appsrc\\out C:\\inetpub\\wwwroot\\apprun
RUN New-WebAppPool -Name <pool>
New-WebApplication -Site 'Default Web Site' -Name <web> -PhysicalPath 'C:\inetpub\wwwroot\apprun' -ApplicationPool <pool>;
# END
##########################
Теоретически у образа aspnet уже есть точка входа, и я запускаю образ, и он работает правильно.
Проблема, с которой я борюсь, - это размер изображения, который остается в 5,5 ГБ. Я подозреваю, что это размер образа aspnet, который я использую в качестве основы, но как мне его уменьшить?
Спасибо