IronXL 開始使用 Docker 支援 Setting up IronXL in Docker Containers Curtis Chau 更新日期:6月 9, 2025 Download IronXL NuGet 下載 DLL 下載 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article This article was translated from English: Does it need improvement? Translated View the article in English 想要使用 C# 讀取、編輯和創建 Excel 試算表文件? IronXL 現在完全支持 Docker,包括 Azure Docker 容器,適用於 Linux 和 Windows。 為什麼使用 Docker? Docker 可以讓開發人員輕鬆地將任何應用程式打包、運送和運行為輕型、可移植、獨立的容器,並且能夠幾乎在任何地方運行。 IronXL 和 Linux 入門 如果您對 .NET 的 Docker 不熟悉,我們推薦這篇關於在 Visual Studio 專案中設定 Docker 調試和整合的出色文章。 https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019 我們還強烈建議您閱讀我們的IronXL Linux 設置和相容性指南 推薦的 Linux Docker 發行版 我們推薦以下最新的 64 位元 Linux 作業系統以便 "輕鬆配置" IronPDF。 Ubuntu 20 Ubuntu 18 Debian 11 Debian 10 [目前為 Microsoft Azure 的預設 Linux 發行版] CentOS 7 CentOS 8 我們建議使用 Microsoft 的官方 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 # Base runtime image (Ubuntu 20 with .NET runtime) FROM mcr.microsoft.com/dotnet/runtime:5.0-focal AS base WORKDIR /app # Base development image (Ubuntu 20 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:5.0-focal AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] Ubuntu 20 搭載 .NET 3.1 LTS # Base runtime image (Ubuntu 20 with .NET runtime) FROM mcr.microsoft.com/dotnet/runtime:3.1-focal AS base WORKDIR /app # Base development image (Ubuntu 20 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:3.1-focal AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] Ubuntu 18 搭載 .NET 3.1 LTS # Base runtime image (Ubuntu 18 with .NET runtime) FROM mcr.microsoft.com/dotnet/runtime:3.1-bionic AS base WORKDIR /app # Base development image (Ubuntu 18 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:3.1-bionic AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] Debian Linux DockerFiles Debian 11 搭載 .NET 5 # Base runtime image (Debian 10 with .NET runtime) FROM mcr.microsoft.com/dotnet/aspnet:5.0-bullseye-slim AS base WORKDIR /app # Base development image (Debian 10 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:5.0-bullseye-slim AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] Debian 11 搭載 .NET 3.1 LTS # Base runtime image (Debian 10 with .NET runtime) FROM mcr.microsoft.com/dotnet/aspnet:3.1-bullseye-slim AS base WORKDIR /app # Base development image (Debian 10 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:3.1-bullseye-slim AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] Debian 10 搭載 .NET 5 # Base runtime image (Debian 10 with .NET runtime) FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base WORKDIR /app # Base development image (Debian 10 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] Debian 10 搭載 .NET 3.1 LTS # Base runtime image (Debian 10 with .NET runtime) FROM mcr.microsoft.com/dotnet/runtime:3.1 AS base WORKDIR /app # Base development image (Debian 10 with .NET SDK) FROM mcr.microsoft.com/dotnet/sdk:3.1 AS build WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM build AS publish RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] CentOS 7 搭載 .NET 3.1 LTS # Base runtime image (CentOS 7) FROM centos:7 AS base WORKDIR /app # Install necessary packages RUN yum install sudo -y RUN sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm RUN sudo yum install dotnet-sdk-3.1 -y RUN sudo yum install aspnetcore-runtime-3.1 -y RUN sudo yum install dotnet-runtime-3.1 -y RUN sudo yum update -y WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM base AS publish WORKDIR /src COPY . . RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] CentOS 8 搭配 .NET 3.1 LTS # Base runtime image (CentOS 8) FROM centos:8 AS base WORKDIR /app # Install necessary packages RUN yum install sudo -y RUN sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm RUN sudo yum install dotnet-sdk-3.1 -y RUN sudo yum install aspnetcore-runtime-3.1 -y RUN sudo yum install dotnet-runtime-3.1 -y RUN sudo yum update -y WORKDIR /src # Restore NuGet packages COPY ["Example/Example.csproj", "Example/"] RUN dotnet restore "Example/Example.csproj" # Build project COPY . . WORKDIR "/src/Example" RUN dotnet build "Example.csproj" -c Release -o /app/build # Publish project FROM base AS publish WORKDIR /src COPY . . RUN dotnet publish "Example.csproj" -c Release -o /app/publish # Run app FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Example.dll"] 常見問題解答 如何在 Docker 容器中安裝 IronXL? 要在 Docker 容器中安裝 IronXL,您需要使用 IronXL NuGet 套件,該套件相容於 Windows、macOS 和 Linux。使用指令 ` dotnet add package IronXL進行安裝。對於 Docker,請將該套件整合到您的 Dockerfile 中,並確保您的應用程式可以存取必要的程式庫和依賴項。 使用 Docker 開發 Excel 應用程式有哪些好處? Docker 可讓您將 Excel 應用程式打包、分發和運行為輕量級、可移植的容器,從而確保在不同環境下的一致性和效率。這有助於維護穩定且可復現的開發和生產環境。 哪些 Linux 發行版與 Docker 中的 IronXL 相容性最佳? 推薦用於在 Docker 中配置 IronXL 的 Linux 發行版為 Ubuntu 18、Ubuntu 20、Debian 10、Debian 11、CentOS 7 和 CentOS 8。這些發行版為運行 Excel 應用程式的 Docker 容器提供了穩定的環境。 我可以在Windows和Linux Docker容器中使用IronXL嗎? 是的,IronXL 支援 Windows 和 Linux 平台上的 Docker 容器。這包括託管在 Azure 上的容器,從而提供靈活的部署選項。 對於使用 IronXL 的 .NET 應用程序,建議使用哪些 Docker 映像? 對於使用 IronXL 的 .NET 應用程序,建議使用 Microsoft 官方的 .NET 運行時和 SDK Docker 映像。這些映像針對 .NET 應用程式進行了最佳化,可以在 Docker Hub 上找到。 如何在 Docker 環境下排查 IronXL 的問題? 如果在使用 Docker 執行 IronXL 時遇到問題,請確保所有相依性都已正確安裝在 Docker 容器中。檢查 Dockerfile 配置,並確保使用的是正確的 .NET 版本。如需更多協助,請參閱 IronXL 文件和 Docker 官方故障排除指南。 有哪些資源可以幫助我深入了解 Docker 和 IronXL 的整合? 如需進一步了解 Docker 和 IronXL 集成,請參閱 Microsoft 關於 Docker for .NET 和 Visual Studio 專案的文件。此外,IronXL 的 Linux 設定指南也提供了有關設定 Docker 環境的寶貴資訊。 Curtis Chau 立即與工程團隊聊天 技術作家 Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。 準備好開始了嗎? Nuget 下載 1,686,155 | 版本: 2025.11 剛剛發布 免費 NuGet 下載 總下載量:1,686,155 查看許可證