在 Docker 容器中设置 IronXL
想要 使用 C# 阅读、编辑和创建 Excel 电子表格文件?
IronXL 现在完全支持 Docker,包括用于 Linux 和 Windows 的 Azure Docker 容器。
为什么使用 Docker?
Docker 使开发人员能够将任何应用程序作为轻量级、便携式、自给自足的容器轻松打包、运输和运行,几乎可以在任何地方运行。
IronXL 和 Linux 入门
如果您对 Docker 与 .NET 的结合还不熟悉,我们向您推荐这篇关于设置 Docker 调试和与 Visual Studio 项目集成的优秀文章。 https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019
我们还强烈建议您阅读我们的 IronXL Linux 安装和兼容性指南
推荐的 Linux Docker 发行版
我们推荐以下最新的 64 位 Linux 操作系统,以便 "轻松配置 "IronPDF。
- 乌班图 20
- 乌班图 18
- Debian 11
- Debian 10 [目前,Microsoft Azure 默认 Linux Distro]
- CentOS 7
- CentOS 8
我们建议使用微软的 官方 Docker 映像 .部分支持其他 Linux 发行版,但可能需要使用 apt-get 手动配置。请参阅我们的"Linux 手动设置"指南
本文档包含适用于 Ubuntu 和 Debian 的 Docker 工作文件:
IronXL Linux Docker 安装要点
使用我们的 NuGet 软件包
我们建议使用 IronXL NuGet 软件包可在 Windows、macOS 和 Linux 上进行开发。
Install-Package IronXL.Excel
Ubuntu Linux DockerFiles
Ubuntu 20 与 .NET 5
# 基本运行时映像 (Ubuntu 20 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base
工作目录 /app
# 基本开发映像 (Ubuntu 20 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
Ubuntu 20 与 .NET 3.1 LTS
# 基本运行时映像 (Ubuntu 20 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base
工作目录 /app
# 基本开发映像 (Ubuntu 20 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
Ubuntu 18,支持 .NET 3.1 LTS
# 基本运行时映像 (Ubuntu 18 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base
工作目录 /app
# 基本开发映像 (Ubuntu 18 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
Debian Linux DockerFiles
Debian 11 与 .NET 5
# 基本运行时映像 (Debian 10 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base
工作目录 /app
# 基本开发映像 (Debian 10 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
Debian 11 与 .NET 3.1 LTS
# 基本运行时映像 (Debian 10 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base
工作目录 /app
# 基本开发映像 (Debian 10 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
Debian 10 与 .NET 5
# 基本运行时映像 (Debian 10 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
工作目录 /app
# 基本开发映像 (Debian 10 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
Debian 10 与 .NET 3.1 LTS
# 基本运行时映像 (Debian 10 w/ .NET runtime)
FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base
工作目录 /app
# 基本开发映像 (Debian 10 w/ .NET SDK)
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
CentOS 7 与 .NET 3.1 LTS
#基础运行时映像 (CentOS 7)
FROM centos:7 AS base
工作目录 /app
# 安装必要的软件包
运行 yum install sudo -y
运行 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
运行 sudo yum install dotnet-sdk-3.1 -y
运行 sudo yum install aspnetcore-runtime-3.1 -y
运行 sudo yum install dotnet-runtime-3.1 -y
运行 sudo yum update -y
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]
CentOS 8 与 .NET 3.1 LTS
#基础运行时映像 (CentOS 8)
FROM centos:8 AS base
工作目录 /app
# 安装必要的软件包
运行 yum install sudo -y
运行 sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
运行 sudo yum install dotnet-sdk-3.1 -y
运行 sudo yum install aspnetcore-runtime-3.1 -y
运行 sudo yum install dotnet-runtime-3.1 -y
运行 sudo yum update -y
工作目录 /src
# 恢复 NuGet 软件包
复制 ["Example/Example.csproj"、"Example/"]
运行 dotnet 还原 "Example/Example.csproj"
# 构建项目
COPY .
WORKDIR "/src/Example" /src/Example
运行 dotnet build "Example.csproj" -c Release -o /app/build
# 发布项目
FROM build AS publish
运行 dotnet publish "Example.csproj" -c Release -o /app/publish
# 运行应用程序
FROM base AS final
工作目录 /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet"、"Example.dll"]