IRONSOFTWAREHOME

.NET 용 Iron Suite

10개의 .NET 라이브러리. 완전한 문서 슈트

IRONSECUREDOC 사용

Docker Compose 환경 변수 (개발자 튜토리얼)

Curtis Chau
Curtis Chau
Updated: 2026년 6월 28일

다양한 환경에 걸친 애플리케이션 배포는 종종 호환성 문제로 이어집니다. 앱은 개발자의 머신에서는 완벽하게 실행될 수 있지만 운영 체제, 종속성 또는 설정의 차이로 인해 테스트나 프로덕션에서 문제가 발생할 수 있습니다. Docker는 애플리케이션을 자급자족 단위로 패키징하여 이 문제를 해결합니다. 이는 개발부터 프로덕션까지 어디서든지 일관되게 작동하도록 보장합니다.

Docker Compose는 다양한 환경에서 환경 변수의 활용을 통해 설정을 간소화하여 컨테이너화된 애플리케이션에 강력한 이점을 제공합니다. 코드 외부에서 주요 설정을 관리할 수 있게 함으로써 Docker Compose는 복잡한 애플리케이션을 더 간단하고 안전하게 배포할 수 있게 합니다. 이러한 이점을 바탕으로, 이 기사는 또한 IronSecureDoc을 사용하여 안전한 문서 처리를 수행하는 방법을 보여주고, Docker Compose의 유연성을 활용하여 암호화 및 수정 구성을 효율적으로 처리하는 방법을 다룹니다.

Docker란?

Docker는 애플리케이션 개발, 배포, 실행을 컨테이너화를 통해 쉽게 할 수 있는 오픈 소스 시스템입니다. 컨테이너는 애플리케이션과 그 종속성을 모두 포함하여 개발자의 머신부터 프로덕션 서버까지 어디서나 일관되게 실행할 수 있는 초경량 휴대용 단위입니다. 컨테이너는 전통적인 가상 머신과 비교하여 호스트 운영 체제의 커널을 공유하므로 훨씬 빠르고 효율적입니다.

Docker Compose 환경 변수 (개발자 튜토리얼): 도표 1 - Docker 웹페이지

이는 Docker 이미지 형태로 가상화된 템플릿을 생성 및 유지 보수하여 이 컨테이너 세트를 관리한다는 것을 의미합니다. 더욱이 플랫폼은 일종의 컨테이너 이미지 리포지토리인 Docker Hub를 포함하고 있습니다. 이 기술의 아름다움은 확장성, 이동성, 효율성에서의 사용 용이성에 있으며, 이는 많은 DevOps와 클라우드 기반 개발 워크플로우에서 인기를 얻은 이유 중 하나입니다.

Docker-Compose의 환경 변수란 무엇인가요?

Docker에서는 환경 변수를 키-값 쌍의 형태로 사용하여 컨테이너화된 애플리케이션의 설정을 구성합니다. 이러한 변수는 데이터베이스 자격 증명이나 API 키, 또는 환경 모드(예: 개발, 프로덕션)와 같은 구성을 쉽게 변경할 수 있어 응용 프로그램의 코드 수정 없이도 응용 프로그램의 동작을 제어하는 데 유용합니다.

Docker에서는 환경 속성을 Dockerfile, docker-compose.yml 파일 안에 정의하거나 실행 시 docker run 명령어를 사용해 전달할 수 있습니다. 환경 변수를 사용하여 Docker는 다양한 환경에서 일관되고 유연한 애플리케이션 배포를 허용하며, 비밀번호나 API 토큰 같은 민감한 데이터를 더 효과적으로 관리할 수 있습니다.

Docker에서 환경 변수를 생성하는 방법

우리는 Docker에서 여러 가지 방법으로 환경 변수를 정의할 수 있습니다. 이들은 Docker Compose 파일, docker-compose.yml 파일, 환경 파일, 또는 실행 시 docker run 명령어를 실행할 때 정의될 수 있습니다. 환경 변수를 기본 구성 파일과 분리하여 유지하면 변수의 조직이 더 쉬워집니다! 다음은 변수를 정의하는데 적용할 수 있는 다양한 방법들의 목록입니다.

Dockerfile에서 환경 변수 설정

우리는 Dockerfile에서 환경 변수를 ENV 명령어를 사용하여 직접 정의할 수 있습니다. 이는 Docker 이미지 내에서 변수의 기본값을 포함하기를 원할 때 유용할 수 있습니다.

# Dockerfile
# Set the application environment
ENV APP_ENV=development
# Set the database URL
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
Text

Dockerfile에서 정의된 값으로 환경 변수를 설정하면 컨테이너 실행 시 자동으로 적용됩니다.

Docker-Compose.yml에서 환경 변수 설정

우리는 docker-compose.yml 내의 각 서비스에 대해 환경 변수를 environment 키워드를 사용하여 정의할 수 있습니다. 이는 여러 개의 서비스를 관리하기 위해 Docker Compose를 사용할 때 유용합니다.

version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
Text

런타임 시 환경 변수 설정

우리는 -e 플래그와 함께 docker run 명령어를 사용하여 컨테이너를 실행할 때 환경 변수를 지정할 수 있습니다. 이는 아마도 Dockerfile에 추가하지 않을 일시적이고 동적인 값에 적합합니다.

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev myapp:latest
SHELL

환경 파일 사용 (.env)

환경 변수를 .env 같은 파일에 저장하고 이를 Docker 컨테이너에 로드할 수 있습니다. Docker Compose에서는 env_file 지시어를 통해 이를 참조할 것입니다.

# .env file
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
SHELL

env 파일의 도움으로 환경 변수들을 기본 구성 파일 밖에서 여러 파일을 관리할 수 있습니다.

IronSecureDoc란?

IronSecureDoc를 사용하면 개발자들이 컨테이너화된 애플리케이션에 안전한 문서 처리 기능을 쉽게 추가할 수 있습니다. Docker를 익힌 후 IronSecureDoc과 함께 ASP.NET Core 애플리케이션을 캡슐화하여 배포와 확장을 쉽게 할 수 있는 균일한 환경을 만들 수 있습니다. 이렇게 하려면 IronSecureDoc 라이브러리와 아마도 작동을 위한 다른 설치 스크립트나 구성 파일을 사용하여 ASP.NET Core 애플리케이션의 구성을 조율할 Dockerfile을 구축할 것입니다.

Docker Compose 환경 변수 (개발자 튜토리얼): 도표 2 - IronSecureDoc 웹페이지

게다가, 서비스 의존성과 환경 변수를 선언하고 매핑된 포트를 선언하는 docker-compose.yml 파일을 포함합니다. 이로 인해 문서 보안 작업을 수행하기가 훨씬 더 용이해지며, 개발 또는 프로덕션에서 사용된 환경이 아닌 환경에서도 애플리케이션을 효율적이고 효과적으로 실행할 수 있습니다. Docker의 경우와 마찬가지로, 문서 암호화, 수정 등 IronSecureDoc의 기능을 제대로 실현하기 위해서는 적절한 설치와 구성이 필요합니다.

IronSecureDoc의 주요 기능

IronSecureDoc는 PDF 보안 및 문서 관리를 위한 강력한 기능을 제공합니다:

  • 암호화: 문서 기밀성을 보호하기 위하여 비밀번호 기반 보안을 갖춘 128또는 256비트 암호화를 제공합니다.
  • 수정: 개인 식별자와 같은 민감한 정보를 제거하여 개인정보 보호 기준과 규정을 충족합니다.
  • 디지털 서명: 문서의 진위성을 보장하기 위해 .pfx 또는 .p12 인증서로 디지털 서명과 공증을 지원합니다.
  • REST API: 유연한 API는 다른 소프트웨어 및 워크플로와의 매끄러운 통합을 가능하게 합니다.
  • Docker 통합: Docker에 대한 지원이 클라우드 또는 자체 서버 애플리케이션 배포와 확장을 간소화합니다.

이러한 기능들은 IronSecureDoc를 법률, 의료, 금융과 같은 민감한 문서를 취급하는 분야에 훌륭한 선택으로 만듭니다.

IronSecureDoc 설치 및 실행

단계 1

IronSecureDoc를 설치하려면 터미널 창 또는 명령 프롬프트에서 아래 명령어를 실행하여 리포지토리에서 IronSecureDoc Docker 이미지를 가져옵니다.

docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose 환경 변수 (개발자 튜토리얼): 도표 3 - IronSecureDoc 이미지를 가져오는 콘솔 출력

2단계

IronSecureDoc 이미지를 가져오면, 다음 docker-compose 명령을 사용해 Docker 컨테이너에서 이미지를 실행할 수 있습니다.

docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
SHELL

Docker Compose 환경 변수 (개발자 튜토리얼): 도표 4 - IronSecureDoc 이미지를 실행하는 콘솔 출력

우리는 Iron Software의 공식 리포지토리를 실행하기 위해 Docker 컨테이너를 사용합니다. 위의 명령줄은 여러 부분으로 나뉘며 아래에서 설명됩니다.

명령 설명

  • docker container run - 제공된 이미지를 사용하여 새로운 Docker 컨테이너를 생성하고 실행하는 명령입니다.
  • --rm - 컨테이너가 실행을 중지하면 즉시 자동으로 정리합니다. 어떤 프로세스가 완료될 때 사용되지 않는 모든 컨테이너를 제거합니다.
  • -p 8080:8080 - 컨테이너의 포트 8080을 게시하여, http://localhost:8080에서 접근할 수 있도록 합니다.
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - IronSecureDoc_LicenseKey라는 실행 중인 컨테이너의 환경 변수를 설정하여 IronSecureDoc의 라이선스 기능을 활성화하고 사용할 수 있게 합니다. <IRONSECUREDOC_LICENSE_KEY>을(를) 실제 키로 교체하세요.
  • -e ENVIRONMENT=Development - 환경 변수는 Development로 설정됩니다. 이는 컨테이너가 개발 모드로 실행되어야 함을 의미합니다. 일반적으로 이 컨테이너는 테스트 또는 디버그 케이스에 사용됩니다; 그 이외에는 비생산 구성을 다양하게 합니다.
  • -e HTTP_PORTS=8080 - 이 환경 변수는 컨테이너가 HTTP 트래픽을 위해 포트 8080을 노출하고 청취하도록 지정하는 데 사용됩니다. 특정 포트를 통해 컨테이너 내부의 서비스에 액세스할 수 있도록 보장합니다.
  • ironsoftwareofficial/ironsecuredoc:latest - 이것은 Docker 이미지입니다. 이는 IronSecureDoc에 대해 Docker 레지스트리에서 최신 버전의 이미지를 사용해야 함을 지정합니다.

IronSecureDoc 컨테이너

IronSecureDoc의 REST API는 Docker에서 실행된 후 문서를 수정, 인증 및 암호화할 수 있게 해줍니다. Docker 컨테이너에서 IronSecureDoc을 실행한 후, API 엔드포인트와 Swagger UI를 사용한 문서 링크입니다: http://localhost:8080/swagger/index.html.

Docker Compose 환경 변수 (개발자 튜토리얼): 도표 5 - API 엔드포인트와 상호작용하기 위한 Swagger UI

위의 인스턴스에서 IronSecureDoc API로 암호화를 위해 문서를 제출하는 POST 요청을 보낼 수 있습니다:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

이렇게 하면 IronSecureDoc이 문서를 받아 적절히 암호화합니다.

결론

요컨대, Docker Compose의 환경 변수는 응용 프로그램 코드와 구성 세부사항이 자동으로 분리되어 응용 프로그램을 매우 유연하고 효율적으로 구성할 수 있습니다. 결과적으로, API 키, 데이터베이스 자격 증명, 응용 프로그램 설정 등과 같은 변수만 변경하면 되므로 개발, 테스트 및 생산과 같은 다양한 환경을 관리하는 것이 더 간단해집니다.

IronSecureDoc를 구현하기 위해 Docker Compose를 사용하는 것은 IronSecureDoc_LicenseKey와 같은 라이선스 정보를 안전하게 처리하기 위해 환경 변수를 사용하며, 환경 변수를 사용하여 HTTP 포트나 개발 또는 생산으로 선호되는 환경 모드를 지정합니다. 설정에 환경 변수를 사용하면 IronSecureDoc를 훨씬 덜 복잡하고 확장하기 어려운 구성으로 배포를 간소화하고 보안을 강화합니다.

유효한 라이선스를 통해 고급 기능을 사용할 수 있게 됩니다. 도구의 적용은 특정 사용 약관에 엄격히 종속됩니다. Iron Software가 제공하는 다른 고성능 라이브러리를 활용하여 PDF 작업, 텍스트 인식 및 바코드 작업을 보다 견고하게 수행할 수 있습니다.

Key in blue circle

무료 30일 체험 키를 즉시 받으세요.

Your trial license will be sent to your email address

제한 없음. 100% 무제한 이용. 신용카드 불필요.

OR
bullet_checked신용카드나 계정 생성은 필요하지 않습니다.제한 없음. 100% 무제한 이용. 신용카드 불필요.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
무료 라이브 데모를 예약하세요
Booking Badge

전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.

Iron Software의 고객 로고
부담 없는 무료 상담을 받아보세요
아래 양식을 작성하시거나 sales@ironsoftware.com으로 이메일을 보내주세요.
고객님의 정보는 항상 비밀로 유지됩니다.
전 세계 수백만 엔지니어들이 신뢰하는 제품입니다.
Iron Software의 고객 로고
지금 바로 30일 무료 체험판 키를 받으세요.
신용카드나 계정 생성은 필요하지 않습니다.