Konfigurowanie IronWord w kontenerach Docker
IronWord jest w pełni wspierany w kontenerach Docker dla środowisk Linux i Windows, co czyni go idealnym do wdrażania na Azure, AWS lub dowolnym gospodarzu gotowym na .NET.
Dlaczego używać Docker?
Docker umożliwia zapakowanie i uruchomienie IronWord jako lekkiego, samodzielnego kontenera. Zapewnia to spójne zachowanie w trakcie pracy z dokumentami Word zarówno na etapie programowania, jak i w środowisku produkcyjnym oraz testowym.
IronWord obsługuje .NET 5-9, .NET Standard (2.x, 3.x) i .NET Framework 4.6.2+, które harmonijnie działają w Docker na Linux i Windows.
Zalecane dystrybucje Linux dla Docker
Zalecamy następujące 64‑bitowe dystrybucje Linux dla płynnej pracy IronWord:
- Ubuntu 22.04+ (Jammy)
- Ubuntu 20.04 (Focal)
- Debian 11+ (Bullseye)
- CentOS7+
Użyj oficjalnych obrazów Docker Microsoftu z runtimem i SDK .NET, aby uprościć konfigurację i zarządzanie zależnościami.
Pakiet NuGet IronWord
IronWord łatwo dodać do dowolnego projektu .NET za pomocą pakietu NuGet. Po prostu uruchom następujące polecenie w konsoli NuGet Package Manager, a automatycznie doda bibliotekę:
Install-Package IronWord
Przykłady Dockerfile dla Ubuntu
Ubuntu22 + .NET8
FROM mcr.microsoft.com/dotnet/runtime:8.0-jammy AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Ubuntu20.04 + .NET6 (LTS)
FROM mcr.microsoft.com/dotnet/runtime:6.0-focal AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
Przykład Dockerfile dla Debian
Debian11 + .NET7
FROM mcr.microsoft.com/dotnet/aspnet:7.0-bullseye-slim AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim AS build
WORKDIR /src
COPY ["Example/Example.csproj", "Example/"]
RUN dotnet restore "Example/Example.csproj"
COPY . .
WORKDIR "/src/Example"
RUN dotnet build "Example.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Example.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Example.dll"]
CentOS 7
Użyj runtime'ów .NET opartych na CentOS jak mcr.microsoft.com/dotnet/runtime:6.0-centos7 dla zgodności z IronWord.
# Etap budowy
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /app
COPY ./Example/Example.csproj ./Example/
RUN dotnet restore "./Example/Example.csproj"
COPY ./Example ./Example/
WORKDIR /app/Example
RUN dotnet publish -c Release -o /out
# Etap runtime - CentOS 7
FROM mcr.microsoft.com/dotnet/runtime:6.0-centos7 AS runtime
WORKDIR /app
RUN yum install -y liberation-fonts && yum clean all
COPY --from=build /out ./
ENTRYPOINT ["dotnet", "Example.dll"]
Notatki i rozwiązywanie problemów
- IronWord w pełni wspiera .NET5–9, .NET Standard (2.x, 3.x) oraz .NET Framework 4.6.2+.
- Zainstaluj czcionki, jeśli to konieczne (np. fonts-liberation, ttf-mscorefonts-installer) w kontenerach Linux dla prawidłowej wizualizacji.
Często Zadawane Pytania
Czym jest IronWord i dlaczego warto go używać w kontenerze Docker?
IronWord to biblioteka do pracy z dokumentami Worda w aplikacjach .NET. Użycie jej w kontenerze Docker pozwala na spójne działanie w środowiskach programistycznych, testowych i produkcyjnych, zarówno na systemie Linux, jak i Windows.
Jakie dystrybucje Linuksa są zalecane do uruchamiania IronWord w Dockerze?
IronWord działa płynnie na 64-bitowych dystrybucjach Linuksa, takich jak Ubuntu 22.04+ (Jammy), Ubuntu 20.04 (Focal), Debian 11+ (Bullseye) i CentOS 7+.
Jak dodać IronWord do projektu .NET za pomocą NuGet?
IronWord można dodać do projektu .NET, uruchamiając polecenie instalacyjne w konsoli NuGet Package Manager Console, co automatycznie włącza bibliotekę IronWord do projektu.
Jakie są zalety korzystania z oficjalnych obrazów Docker firmy Microsoft dla IronWord?
Korzystanie z oficjalnych obrazów Docker firmy Microsoft z środowiskiem uruchomieniowym .NET i zestawem SDK upraszcza konfigurację i zarządzanie zależnościami, zapewniając płynną integrację z IronWord.
Jakie są przykładowe pliki Dockerfile do konfiguracji IronWord na Ubuntu?
Strona zawiera przykłady plików Dockerfile dla systemu Ubuntu 22 z platformą .NET 8 oraz Ubuntu 20.04 z platformą .NET 6, szczegółowo opisujące kroki od skonfigurowania obrazu bazowego po uruchomienie aplikacji.
Jak skonfigurować IronWord w systemie Debian przy użyciu Docker?
Dostarczono przykładowy plik Dockerfile dla Debiana 11 z .NET 7, który zawiera instrukcje dotyczące kompilacji i wdrożenia aplikacji IronWord w kontenerze Docker.
Czy konieczne jest zainstalowanie dodatkowych czcionek dla IronWord w kontenerach Linux?
Tak, w kontenerach Linux może być konieczna instalacja czcionek, takich jak fonts-liberation lub ttf-mscorefonts-installer, aby zapewnić prawidłowe renderowanie dokumentów podczas korzystania z IronWord.
Czy IronWord obsługuje wszystkie wersje .NET?
IronWord obsługuje .NET 5-9, .NET Standard (2.x, 3.x) oraz .NET Framework 4.6.2+, dzięki czemu jest wszechstronnym rozwiązaniem dla różnych wersji aplikacji .NET.
Jakie są kroki wdrażania aplikacji IronWord w systemie CentOS 7?
Strona zawiera opis pliku Dockerfile dla systemu CentOS 7, który obejmuje użycie środowiska uruchomieniowego .NET 6, instalację niezbędnych czcionek oraz konfigurację środowiska do uruchamiania aplikacji IronWord.
Dlaczego warto wybrać Docker do wdrażania aplikacji IronWord?
Docker zapewnia, że aplikacje IronWord mają lekkie i samodzielne środowisko, zapewniając stałą wydajność na różnych etapach tworzenia i wdrażania aplikacji.

