官方 dockerfile
ARG REPO=mcr.microsoft.com/dotnet/core/runtime FROM $REPO:3.1-buster-slim # Install ASP.NET Core RUN aspnetcore_version=3.1.5 \ && curl -SL --output aspnetcore.tar.gz https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz \ && aspnetcore_sha512='262a8e670a8800aea1c518e48a237543f2bca92010187d25cae2bd513163786c5b49ff2593b1e256ca89201fd3d819c2265f8a3946b257e8490b37a5a66e1fff' \ && echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c - \ && tar -ozxf aspnetcore.tar.gz -C /usr/share/dotnet ./shared/Microsoft.AspNetCore.App \ && rm aspnetcore.tar.gz
官网 dockerfile 地址
最新 .net core 版本查询
https://dotnet.microsoft.com/download/dotnet-core
修改后的 dockerfile 增加web站点
FROM debian:stable-20200607-slim # Install ASP.NET Core RUN set -eux; \ aspnetcore_version=3.1.5; \
apt-get update; \
apt install -y libunwind8 libicu63 libssl1.1; \ savedAptMark="$(apt-mark showmanual)";\ apt-get install -y --no-install-recommends wget; \ wget -nv -O aspnetcore.tar.gz https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/$aspnetcore_version/aspnetcore-runtime-$aspnetcore_version-linux-x64.tar.gz; \ aspnetcore_sha512='262a8e670a8800aea1c518e48a237543f2bca92010187d25cae2bd513163786c5b49ff2593b1e256ca89201fd3d819c2265f8a3946b257e8490b37a5a66e1fff'; \ echo "$aspnetcore_sha512 aspnetcore.tar.gz" | sha512sum -c -; \ mkdir -p /usr/share/dotnet; \ #先创建目录 tar -ozxf aspnetcore.tar.gz -C /usr/share/dotnet; \ #解压到目录 rm aspnetcore.tar.gz; \ ln -s /usr/share/dotnet/dotnet /usr/local/bin; \ #增加软连接 chmod +x /usr/share/dotnet/dotnet; \ apt-mark auto '.*' > /dev/null; \ [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; \ apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \ rm -rf /var/lib/apt/lists/*; \
dotnet --info; #显示dotnet信息
EXPOSE 80 443 # 导出端口
WORKDIR /website # 设置工作目录
ADD website.tar.gz /website # 添加站点
ENTRYPOINT ["dotnet"]
CMD ["/website/website.dll"] # 参数为站点的主dll