Docker에서 Linux ARM64에서 IronPDF 실행

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF의 렌더러는 Chromium Embedded Framework (CEF)를 기반으로 구축되었으며, 이는 기본적으로 ARM 및 ARM64에서 Linux 동적 링커가 예약하는 것보다 더 많은 스레드 로컬 저장소 (TLS)를 필요로 합니다. 해결책이 없으면 libcef.so 로드에 실패하며 cannot allocate memory in static TLS block가 발생합니다. 수정 방법은 libcef.soLD_PRELOAD 환경 변수를 통해 사전 로드하여 링커가 다른 것이 로드되기 전에 충분한 TLS를 예약하도록 하는 것입니다.

오류 메시지 및 non-Docker 해결책에 대해 더 알고 싶다면 IronPDF on Linux ARM: 정적 TLS 블록에 메모리를 할당할 수 없음를 참조하십시오. 이 글은 같은 해결책을 컨테이너 내에 적용합니다.

Dockerfile에서 LD_PRELOAD 설정

변수를 IronPDF와 함께 제공되는 ARM64 네이티브 라이브러리를 가리키는 ENV 명령어로 추가합니다:

ENV LD_PRELOAD=/app/runtimes/linux-arm64/native/libcef.so

샘플 Dockerfile

이 다단계 Dockerfile은 .NET 8에서 ARM64용 IronPDF 앱을 빌드하고 실행하며, CEF가 의존하는 네이티브 라이브러리를 설치하고 최종 이미지에 LD_PRELOAD를 설정합니다:

# Base image for runtime (ARM64)
FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base
USER root
WORKDIR /app
RUN apt update \
    && apt install -y sudo libxkbcommon-x11-0 libc6 libc6-dev libgtk2.0-0 libnss3 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libdrm-common libgbm1 libasound2 libxrender1 libfontconfig1 libxshmfence1 libgdiplus libva-dev
# Base image for build (ARM64)
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY . .
RUN dotnet publish -c Release -o /app/publish
# Final image with IronPdf and system dependencies
FROM base AS final
WORKDIR /app
ENV LD_PRELOAD=/app/runtimes/linux-arm64/native/libcef.so
COPY --from=build /app/publish .
ENTRYPOINT ["dotnet", "IronPdfLinuxArm.dll"]

LD_PRELOAD를 이미지에서 libcef.so가 실제로 위치하는 경로로 설정합니다; 위의 값은 기본 runtimes/linux-arm64/native/ 레이아웃과 일치합니다. 기저적인 제한사항은 CEF 포럼에서 추적 중입니다.

Curtis Chau
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 20,296,129 | 버전: 2026.7 방금 출시
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronPdf
샘플을 실행하세요 HTML이 PDF로 변환되는 것을 지켜보세요.