Docker 컨테이너에 IronXL 설정

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

C#을 사용하여 Excel 스프레드시트 파일을 읽기, 편집 및 생성하시겠습니까?

IronXL은 이제 Linux 및 Windows용 Azure Docker 컨테이너를 포함한 Docker를 완벽히 지원합니다.

Docker Azure Linux Amazon Windows

왜 Docker를 사용해야 하나요?

Docker는 개발자가 가볍고, 포터블하며, 자급자족 가능한 컨테이너로 쉽게 패키징하고, 발송하고, 실행할 수 있게 해주어 사실상 어디서나 작동할 수 있습니다.

IronXL과 Linux 입문

.NET이 포함된 Docker가 처음이라면 Visual Studio 프로젝트와의 Docker 디버깅 및 통합 설정에 관한 이 훌륭한 기사를 추천합니다. https://docs.microsoft.com/en-us/visualstudio/containers/edit-and-refresh?view=vs-2019

또한 IronXL Linux 설정 및 호환성 가이드를 읽어보기를 강력히 추천드립니다.

추천 리눅스 Docker 배포판

IronPDF의 "간편한 구성"을 위해 최신 64비트 리눅스 OS를 아래와 같이 추천합니다.

  • 우분투 20
  • 우분투 18
  • 데비안 11
  • Debian 10 [현재 Microsoft Azure 기본 리눅스 배포판]
  • CentOS 7
  • CentOS 8

Microsoft의 공식 Docker 이미지를 사용하는 것을 추천합니다. 다른 리눅스 배포판은 부분적으로 지원되지만, apt-get을 사용하여 수동 설정이 필요할 수 있습니다. "Linux 수동 설정" 가이드를 보세요.

Ubuntu 및 Debian을 위한 작동하는 Docker 파일들이 이 문서에 포함되어 있습니다:

IronXL Linux Docker 설치 필수 항목

NuGet 패키지 사용

IronXL NuGet 패키지 사용을 추천합니다. 이것은 Windows, macOS, 리눅스에서 개발할 때 작동합니다.

Install-Package IronXl.Excel

Ubuntu 리눅스 DockerFiles

Docker Ubuntu

.NET 5가 포함된 Ubuntu 20

# 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"]

.NET 3.1 LTS가 포함된 Ubuntu 20

# 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"]

.NET 3.1 LTS가 포함된 Ubuntu 18

# 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 리눅스 DockerFiles

.NET 5가 포함된 Debian 11

# 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"]

.NET 3.1 LTS가 포함된 Debian 11

# 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"]

.NET 5가 포함된 Debian 10

# 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"]

.NET 3.1 LTS가 포함된 Debian 10

# 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"]

센토스 7에 .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"]

.NET 3.1 LTS가 포함된 CentOS 8

# 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"]

자주 묻는 질문

Docker 컨테이너에 IronXL을 설치하려면 어떻게 해야 하나요?

Docker 컨테이너에서 IronXL을 설정하려면 Windows, macOS 및 Linux와 호환되는 IronXL NuGet 패키지를 사용해야 합니다. 다음 명령어를 사용하여 설치하세요. dotnet add package IronXL . Docker 환경에서는 Dockerfile에 패키지를 통합하고 애플리케이션이 필요한 라이브러리와 종속성에 접근할 수 있도록 설정해야 합니다.

Excel 애플리케이션에 Docker를 사용하면 어떤 이점이 있습니까?

Docker를 사용하면 Excel 애플리케이션을 가볍고 휴대 가능한 컨테이너로 패키징, 배포 및 실행할 수 있으므로 다양한 환경에서 일관성과 효율성을 보장할 수 있습니다. 이를 통해 안정적이고 재현 가능한 개발 및 운영 환경을 유지할 수 있습니다.

Docker 환경에서 IronXL과 가장 잘 호환되는 Linux 배포판은 무엇입니까?

Docker에서 IronXL을 구성하는 데 권장되는 Linux 배포판은 Ubuntu 18, Ubuntu 20, Debian 10, Debian 11, CentOS 7 및 CentOS 8입니다. 이러한 배포판은 Excel 애플리케이션을 실행하는 Docker 컨테이너에 안정적인 환경을 제공합니다.

IronXL을 Windows 및 Linux Docker 컨테이너 모두에서 사용할 수 있습니까?

네, IronXL은 Windows 및 Linux 플랫폼 모두에서 Docker 컨테이너를 지원합니다. Azure에서 호스팅되는 컨테이너도 포함되므로 유연한 배포 옵션을 제공합니다.

IronXL을 사용하는 .NET 애플리케이션에 권장되는 Docker 이미지는 무엇인가요?

IronXL을 사용하는 .NET 애플리케이션의 경우, Microsoft에서 제공하는 공식 .NET 런타임 및 SDK용 Docker 이미지를 사용하는 것이 좋습니다. 이러한 이미지는 .NET 애플리케이션에 최적화되어 있으며 Docker Hub에서 찾을 수 있습니다.

Docker 환경에서 IronXL 관련 문제를 어떻게 해결할 수 있나요?

Docker 환경에서 IronXL 사용 중 문제가 발생하는 경우, Docker 컨테이너 내에 모든 종속성이 올바르게 설치되었는지 확인하십시오. Dockerfile 구성을 확인하고 올바른 .NET 버전이 사용되고 있는지 확인하십시오. 자세한 내용은 IronXL 설명서와 Docker의 공식 문제 해결 가이드를 참조하십시오.

Docker와 IronXL 통합에 대해 더 자세히 알아볼 수 있는 자료는 무엇이 있나요?

Docker와 IronXL 통합에 대한 자세한 내용은 Microsoft의 Docker for .NET 및 Visual Studio 프로젝트 관련 문서를 참조하십시오. 또한 IronXL의 Linux 설정 가이드는 Docker 환경 설정에 유용한 정보를 제공합니다.

커티스 차우
기술 문서 작성자

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

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

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

시작할 준비 되셨나요?
Nuget 다운로드 1,890,100 | 버전: 2026.3 방금 출시되었습니다

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/get-started/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/get-started/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Getstarted.php
Line: 25
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

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

빠른 증거를 원하시나요? PM > Install-Package IronXl.Excel
샘플을 실행하세요 데이터가 스프레드시트로 변환되는 것을 지켜보세요.