Docker Konteynerlerinde IronXL Kurulumu
C# kullanarak Excel elektronik tablo dosyalarını okumak, düzenlemek ve oluşturmak ister misiniz?
IronXL artık Linux ve Windows için Azure Docker Containers dahil olmak üzere Docker'ı tamamen destekliyor.
Neden Docker kullanmalı?
Docker, geliştiricilerin herhangi bir uygulamayı neredeyse her yerde çalışabilen hafif, taşınabilir, kendi kendine yeterli bir konteyner olarak kolayca paketlemesini, göndermesini ve çalıştırmasını sağlar.
IronXL ve Linux Primer
NET ile Docker sizin için yeniyse, Docker hata ayıklama ve Visual Studio projeleriyle entegrasyon kurma hakkındaki bu mükemmel makaleyi öneririz. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019
Ayrıca IronXL Linux Kurulum ve Uyumluluk Kılavuzumuzu okumanızı şiddetle tavsiye ederiz
Önerilen Linux Docker Dağıtımları
IronPDF'nin "kolay yapılandırılması" için aşağıdaki en son 64 bit Linux işletim sistemlerini öneriyoruz.
- Ubuntu 20
- Ubuntu 18 Debian 11
- Debian 10 [Şu anda Microsoft Azure Varsayılan Linux Dağıtımı] CentOS 7 CentOS 8
Microsoft'un Official Docker Images dosyasını kullanmanızı öneririz. Other Linux distros are supported in part, but may require manual configuration using apt-get. "Linux Manuel Kurulumu" kılavuzumuza bakın.
Ubuntu ve Debian için çalışan Docker dosyaları bu belgeye dahil edilmiştir:
IronXL Linux Docker Kurulum Temelleri
NuGet Paketimizi Kullanın
IronXL NuGet Paketini kullanmanızı öneririz. Windows, macOS ve Linux üzerinde geliştirme yaparken çalışır.
Install-Package IronXL.Excel
Ubuntu Linux Docker Dosyaları
Ubuntu 20 ile .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 ile .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 ile .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 ile .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 ile .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 ile .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 ile .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 ile .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 ile .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"]Sıkça Sorulan Sorular
IronXL'i Docker kapsayıcısında nasıl kurabilirim?
Docker kapsayıcısında IronXL yapılandırmak için, Windows, macOS ve Linux ile uyumlu IronXL NuGet paketini kullanmanız gerekir. Bunu dotnet add package IronXL komutuyla yükleyin. Docker için, paketi Dockerfile içerisinde entegre edin ve uygulamanızın gerekli kütüphanelere ve bağımlılıklara erişebildiğinden emin olun.
Excel uygulamaları için Docker kullanmanın avantajları nelerdir?
Docker, Excel uygulamalarını hafif, taşınabilir kapsayıcılar olarak paketlemenize, gönderip çalıştırmanıza olanak tanır, bu da farklı ortamlar arasında tutarlılık ve verimlilik sağlar. Bu, istikrarlı ve yeniden üretilebilir bir geliştirme ve üretim ortamının sağlanmasına yardımcı olur.
IronXL ile Docker'da hangi Linux dağıtımları en iyi çalışır?
IronXL, Docker'da konfigüre etmek için önerilen Linux dağıtımları Ubuntu 18, Ubuntu 20, Debian 10, Debian 11, CentOS 7 ve CentOS 8'dir. Bu dağıtımlar, Excel uygulamaları çalıştıran Docker kapsayıcıları için stabil bir ortam sunar.
IronXL'i hem Windows hem de Linux Docker kapsayıcılarında kullanabilir miyim?
Evet, IronXL hem Windows hem de Linux platformlarında Docker kapsayıcılarını destekler. Bu, Azure üzerinde barındırılan kapsayıcıları da içerir, böylece esnek dağıtım seçenekleri sunar.
IronXL kullanan .NET uygulamaları için önerilen Docker görüntüleri nelerdir?
IronXL kullanan .NET uygulamaları için, .NET çalışma zamanı ve SDK için Microsoft's resmi Docker görüntülerini kullanmanız önerilir. Bu görüntüler, .NET uygulamaları için optimize edilmiştir ve Docker Hub üzerinde bulunabilir.
Docker ortamında IronXL ile ilgili sorunlar nasıl giderilir?
Docker'da IronXL ile ilgili sorunlarla karşılaşırsanız, tüm bağımlılıkların Docker konteyneriniz içinde doğru bir şekilde kurulduğundan emin olun. Dockerfile yapılandırmanızı kontrol edin ve doğru .NET sürümünün kullanıldığından emin olun. Daha fazla yardım için IronXL belgelerine ve Docker'ın resmi sorun giderme kılavuzlarına başvurun.
Docker ve IronXL entegrasyonu hakkında daha fazla bilgi edinmek için hangi kaynaklar mevcut?
Docker ve IronXL entegrasyonu hakkında daha fazla bilgi için, Microsoft'un .NET ve Visual Studio projeleri için Docker belgelerine başvurun. Ek olarak, IronXL'in Linux kurulum kılavuzu, Docker ortamlarını kurmak için değerli bilgiler sağlar.

