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. Diğer Linux dağıtımları kısmen desteklenmektedir, ancak apt-get kullanılarak manuel yapılandırma gerektirebilir. "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 DockerFiles
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 with .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 bir Docker konteynerinde nasıl kurabilirim?
IronXL'i bir Docker konteynerine kurmak için, Windows, macOS ve Linux ile uyumlu olan IronXL NuGet paketini kullanmanız gerekir. Bunu dotnet add package IronXL komutuyla yükleyin. Docker için, paketi Dockerfile'ınıza dahil edin ve uygulamanızın gerekli kütüphane ve bağımlılıklara erişebildiğinden emin olun.
Excel uygulamaları için Docker kullanmanın faydaları nelerdir?
Docker, Excel uygulamalarınızı hafif, taşınabilir konteynerler olarak paketlemenizi, göndermenizi ve çalıştırmanızı sağlar, böylece farklı ortamlarda tutarlılık ve verimlilik sağlar. Bu, kararlı ve tekrarlanabilir bir geliştirme ve üretim ortamını sürdürmeye yardımcı olur.
IronXL ile Docker'da hangi Linux dağıtımları en iyi çalışır?
Docker'da IronXL yapılandırmak 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ını çalıştıran Docker konteynerleri için kararlı bir ortam sağlar.
IronXL'i hem Windows hem de Linux Docker konteynerlerinde kullanabilir miyim?
Evet, IronXL, Docker konteynerlerini hem Windows hem de Linux platformlarında destekler. Bu, Azure'da barındırılan konteynerleri de içerir ve esnek dağıtım seçenekleri sunar.
.NET uygulamaları için IronXL kullanırken önerilen Docker görüntüleri nelerdir?
.NET uygulamaları için IronXL kullanırken, Microsoft'un resmi .NET runtime ve SDK Docker görüntülerini kullanmanız önerilir. Bu görüntüler, .NET uygulamaları için optimize edilmiştir ve Docker Hub'da bulunabilir.
Docker ortamında IronXL'deki sorunları nasıl çözebilirim?
Docker'da IronXL ile ilgili sorunlar yaşıyorsanız, tüm bağımlılıkların Docker konteynerinizde 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 dokümantasyonuna ve Docker'ın resmi sorun giderme kılavuzlarına bakın.
Docker ve IronXL entegrasyonu hakkında daha fazla bilgi edinmek için hangi kaynaklar mevcuttur?
Docker ve IronXL entegrasyonu hakkında daha fazla bilgi için, Microsoft'un .NET ve Visual Studio projeleri için Docker dokümantasyonuna bakın. Ayrıca, IronXL’in Linux kurulum kılavuzu Docker ortamlarını ayarlama konusunda değerli bilgiler sunar.

