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 desteklenir, ancak apt-get kullanılarak manuel yapılandırma gerekebilir. "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.
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.
Can IronXL be used in a Red Hat environment with Docker?
Yes, IronXL can be used in Docker containers running on RHEL (Red Hat Enterprise Linux) using Red Hat's Universal Base Image (UBI) for .NET 8. This allows deployments without needing a Red Hat subscription, ensuring compatibility with current .NET releases.
What should I do if I face issues with other Linux distributions using IronXL in Docker?
If you encounter issues with other Linux distributions, you may need to configure them manually using `apt-get`. Refer to the IronXL Linux Manual Setup guide for detailed steps.
Where can I find more resources for setting up IronXL in Docker with .NET?
You can find additional resources in the IronXL Linux Setup and Compatibility Guide, and by exploring articles about Docker debugging and Visual Studio integration provided as recommendations on the web page.

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.