기존 Docker 컨테이너에 IronPDF 추가하기
IronPDF for .NET Standard는 이제 Linux 및 Windows용 Azure Docker 컨테이너를 포함하여 Docker를 완벽하게 지원합니다.
대신 IronPDF를 별도의 Docker 컨테이너로 배포하시겠습니까? IronPdfEngine 튜토리얼 가이드에 대해 자세히 알아보세요.
Azure에서 Docker를 사용하는 이유는 무엇일까요?
뛰어난 Enterprise 확장성 외에도, Azure의 Docker 컨테이너는 일반 WebApp보다 더 많은 권한을 갖습니다. 이를 통해 GDI+ 그래픽에 대한 시스템 액세스가 활성화되므로 SVG 글꼴을 렌더링할 수 있습니다.
IronPDF 및 Linux Primer
.NET과 Docker를 처음 접하신다면, Docker 디버깅 설정 및 Visual Studio 프로젝트와의 통합에 관한 이 훌륭한 기사를 추천합니다.
또한 IronPDF Linux 설치 및 호환성 가이드를 꼭 읽어보시기를 강력히 권장합니다.
권장되는 Linux Docker 배포판
IronPDF의 "간편한 구성"을 위해 아래의 최신 64비트 Linux OS를 권장합니다.
- Ubuntu 24 (Noble)
- Ubuntu 22
- Ubuntu 20
- Ubuntu 18
- Debian 11
- Debian 10
- CentOS 8
- Amazon AWS Linux 2 IronPDF AWS Lambda 설정 가이드 읽기
.NET용 Microsoft 공식 Docker 이미지를 사용하는 것을 권장합니다. 다른 Linux 배포판도 부분적으로 지원되지만, 수동 구성이 필요할 수 있습니다. "Linux 수동 설정" 가이드를 참조하십시오.
IronPDF Linux Docker 설치
Linux에 최적화된 NuGet 패키지 사용
디스크 공간을 절약하고 Docker 인스턴스 시작 시 자산이 다운로드되는 것을 방지하려면 일반 IronPDF 패키지 대신 IronPdf.Linux NuGet 패키지를 사용하는 것을 권장합니다. 걱정하지 마세요. Windows나 macOS에서 개발할 때도 여전히 작동합니다. 단지 Linux에 최적화되어 있을 뿐입니다.
Install-Package IronPdf.Linux
또 다른 해결책은 일반 IronPDF NuGet 패키지 위에 IronPdf.Native.Chrome.Linux를 추가하는 것입니다.
Install-Package IronPdf.Native.Chrome.Linux
자동 종속성 설치 피하기
많은 사용자가 LinuxAndDockerDependenciesAutoConfig를 false로 설정했을 때 Linux 및 Docker에서 더 나은 결과를 얻는다고 보고합니다. 이는 apt-get 스타일의 패키지 관리자가 Docker 파일 내에 필수 구성 요소를 이미 설치해 두었기 때문입니다.
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
// Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = false;
' Disable automatic configuration of Linux and Docker dependencies
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = False
GPU 가속 비활성화
Linux Docker 컨테이너는 종종 GPU에 액세스할 수 없습니다. GPU 가속은 기본적으로 비활성화되어 있습니다. ChromeGpuModes.Enabled를 활성화한 경우, Docker 배포 시 이를 비활성화할 것을 강력히 권장합니다:
// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
// Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
' Disable GPU acceleration for Docker environments
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
Ubuntu Linux Docker 파일
Ubuntu 24 with .NET 10
Ubuntu 24.04 (Noble)은 64비트 time_t 전환 패키지를 사용하므로, 일부 라이브러리 이름이 이전 Ubuntu 버전과 다릅니다(예: libasound2t64 대신 libasound2).
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish
# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble AS runtime
# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
libasound2t64 \
libatk1.0-0t64 \
libatk-bridge2.0-0t64 \
libcairo2 \
libcups2t64 \
libdbus-1-3 \
libdrm2 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libglib2.0-0t64 \
libgtk-3-0t64 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libx11-6 \
libxcb1 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxkbcommon0 \
libxrandr2 \
fonts-liberation \
wget \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]
Ubuntu 24 with .NET 8
.NET 8 LTS와 Ubuntu 24.04 LTS의 조합은 일반적인 운영 환경입니다. 64비트 전환 라이브러리 이름은 동일하게 적용됩니다.
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0-noble AS build
WORKDIR /app
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o /app/publish
# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0-noble AS runtime
# Install IronPDF dependencies for Ubuntu 24.04 Noble (64-bit transition libraries)
RUN apt-get update && apt-get install -y \
libasound2t64 \
libatk1.0-0t64 \
libatk-bridge2.0-0t64 \
libcairo2 \
libcups2t64 \
libdbus-1-3 \
libdrm2 \
libexpat1 \
libfontconfig1 \
libgbm1 \
libglib2.0-0t64 \
libgtk-3-0t64 \
libnspr4 \
libnss3 \
libpango-1.0-0 \
libpangocairo-1.0-0 \
libx11-6 \
libxcb1 \
libxcomposite1 \
libxdamage1 \
libxext6 \
libxfixes3 \
libxkbcommon0 \
libxrandr2 \
fonts-liberation \
wget \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "YourApp.dll"]
.NET 8이 포함된 Ubuntu 22
.NET 7이 포함된 Ubuntu 22
Ubuntu 20 with .NET 6
Ubuntu 20 with .NET 5
Ubuntu 20 with .NET 3.1 LTS
.NET 3.1 LTS가 설치된 Ubuntu 18
데비안 리눅스 Docker 파일
.NET 8이 포함된 Debian 12
.NET 7이 포함된 Debian 11
.NET 6이 포함된 Debian 11
.NET 5가 포함된 Debian 11
.NET 3.1 LTS가 포함된 Debian 11
.NET 5가 포함된 Debian 10
.NET 3.1 LTS가 포함된 Debian 10
Alpine Linux Docker 파일
Alpine Linux에서 IronPDF를 실행하는 것은 지원되지 않습니다. 하고 싶지만 할 수 없습니다. 솔직히 말해, 저희는 Alpine을 좋아하며 이 프로젝트가 계속되고 성장하기를 바랍니다. 2023년 현재, Alpine은 여전히 구식인 "musl" C 언어 라이브러리를 사용하고 있어 Chromium 개발자들이 이 OS를 아직 완전히 지원하지 못하고 있습니다.
.NET 6에서 IronPdfEngine과 함께 Alpine Docker 사용하기
IronPDF는 IronPDF의 모든 기능을 포함하는 컨테이너 이미지를 제공합니다. 이를 통해 Alpine에서 실행되는 프로젝트는 IronPdfEngine 컨테이너에 연결하여 IronPD 기능을 이용할 수 있습니다.
1단계: IronPDF Engine Docker 이미지 가져오기 및 실행
터미널에서 다음 명령어를 실행하여 IronPDF Engine Docker 이미지를 가져와 실행하십시오:
# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
# Pull the IronPDF Engine Docker Image
docker pull ironsoftwareofficial/ironpdfengine
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
# Run the IronPDF Engine Docker container
docker run -d -p 33350:33350 ironsoftwareofficial/ironpdfengine
2단계: 콘솔 앱 설정
.NET 6을 대상으로 하는 새로운 콘솔 애플리케이션을 만듭니다. NuGet 패키지 관리자를 사용하여 IronPdf.Slim NuGet 패키지를 설치합니다.
Windows Docker 파일
Windows Docker 컨테이너는 더 높은 수준의 성능과 확장성을 제공하고 개발자에게 인스턴스 구성에 대한 더 많은 권한을 부여하기 때문에 Azure에서 점점 더 인기를 얻고 있습니다.
IronPDF는 그래픽 라이브러리와 가상 그래픽 카드에 대한 접근성이 더 높기 때문에 Azure의 Docker 컨테이너(Windows 또는 Linux) 내에서 실제로 더 매력적인 텍스트 렌더링을 수행합니다.
'Visual Studio Container Tools for Docker'라는 기사는 정말 훌륭한 입문 가이드입니다.
다음은 .NET Core 3.1용 Windows 컨테이너 Dockerfile의 예시입니다.
Windows Server 2019 .NET 6.0
사전 구성된 Windows 컨테이너에는 IronPDF 실행에 필요한 모든 종속성이 포함되어 있습니다.
Docker 저장소를 방문하여 IronPDF 실행을 위한 추가 사전 구성된 이미지를 확인해 보세요.
자주 묻는 질문
.NET PDF 생성 라이브러리를 Docker 컨테이너에 통합하려면 어떻게 해야 할까요?
PDF 생성 for .NET 라이브러리인 IronPDF를 Docker 컨테이너에 통합하려면 Linux 환경에서는 Microsoft의 공식 Docker 이미지와 IronPdf.Linux NuGet 패키지를 사용하고, Windows 환경에서는 사전 구성된 Windows Docker 컨테이너를 사용하면 됩니다.
Azure에서 PDF 조작에 Docker 컨테이너를 사용하면 어떤 이점이 있나요?
Azure에서 Docker 컨테이너를 사용하여 PDF를 조작하면 일반 웹 앱보다 향상된 Enterprise 확장성과 더 많은 권한을 제공합니다. 이 구성은 GDI+ 그래픽 액세스를 통해 SVG 글꼴 렌더링과 같은 고급 기능을 활성화하는 데 이상적입니다.
Docker에서 .NET PDF 라이브러리를 실행하는 데 가장 적합한 Linux 배포판은 무엇입니까?
Docker에서 IronPDF를 실행하는 데 가장 적합한 Linux 배포판으로는 Ubuntu 18/20/22, Debian 10/11, CentOS 8 및 Amazon AWS Linux 2가 있습니다. 이러한 배포판은 구성이 간단하고 호환성이 뛰어나기 때문입니다.
Linux Docker 컨테이너에서 .NET PDF 라이브러리의 성능을 최적화하려면 어떻게 해야 할까요?
성능을 최적화하려면 IronPdf.Linux 패키지를 사용하고, 자동 종속성 설치를 비활성화하고, IronPdf.Installation.ChromeGpuMode 를 IronPdf.Engines.Chrome.ChromeGpuModes.Disabled 로 구성하여 GPU 가속을 끄십시오.
IronPDF는 Docker 컨테이너 내에서 Alpine Linux를 실행할 수 있습니까?
IronPDF는 'musl' 라이브러리의 호환성 문제로 인해 Alpine Linux를 기본적으로 지원하지 않습니다. Alpine Linux에서 IronPDF를 사용하려면 IronPDFEngine Docker 컨테이너를 통해 실행하는 것을 고려해 보세요.
.NET 라이브러리에 사전 구성된 Docker 컨테이너를 사용하는 목적은 무엇입니까?
사전 구성된 Docker 컨테이너는 IronPDF를 효율적으로 실행하는 데 필요한 모든 종속성을 제공하여 높은 성능과 확장성을 보장하며, 특히 Azure와 같은 플랫폼에 배포할 때 유용합니다.
Docker 환경에서 .NET 애플리케이션 for .NET PDF 라이브러리를 어떻게 구성할 수 있나요?
IronPDF를 Linux 및 Windows Docker 컨테이너와 통합하여 Docker 환경에서 .NET 애플리케이션용으로 구성할 수 있으므로 마이크로서비스 아키텍처 내에서 강력한 PDF 기능을 구현할 수 있습니다.
Docker에 .NET 라이브러리를 배포하기 위한 권장 설정 단계는 무엇입니까?
권장 조치에는 IronPdf.Linux와 같은 Linux 최적화 패키지 사용, 자동 종속성 설치 비활성화, Docker 환경에서 런타임 지연을 방지하기 위해 IronPDF를 사전 초기화하는 것이 포함됩니다.
.NET 6.0이 실행되는 Windows Server 2019 Docker 컨테이너에 .NET PDF 라이브러리를 설정하는 방법은 무엇입니까?
.NET 6.0에서 IronPDF를 실행하는 데 필요한 모든 종속성 및 구성이 포함된 사전 구성된 Dockerfile을 사용하여 Windows Server 2019 Docker 컨테이너에 .NET PDF 라이브러리를 설정합니다.
.NET 라이브러리의 Docker 설정에서 GPU 가속을 비활성화하는 이유는 무엇입니까?
Docker 환경에서 IronPDF의 GPU 가속을 비활성화하면 GPU 리소스가 제한된 환경에서 발생할 수 있는 그래픽 관련 문제를 방지하여 배포 및 성능을 향상시킬 수 있습니다.

