IRONSECUREDOCの使用

Docker Compose 環境変数 (開発者向けチュートリアル)

チャクニット・ビン
チャクニット・ビン
2024年12月16日
共有:

イントロダクション

異なる環境にアプリケーションを展開すると、互換性で頭を悩ませることがよくあります。 開発者のマシンでは完璧に動作するアプリでも、テストや本番ではオペレーティングシステムや依存関係、設定の違いによって問題が発生することがあります。 Dockerは、アプリケーションを実行するために必要なすべてを含む自己完結型のユニットにパッケージ化することで、この問題を解決します。

Docker Composeは、コンテナ化されたアプリケーションに強力なメリットをもたらします。特に、環境変数を使用することで、異なるセットアップ間での設定を簡素化することができます。 主要な設定をコード外で管理できるようにすることで、Docker Composeは複雑なアプリケーションのデプロイをより簡単かつ安全にします。 これらの利点を生かして、この記事では、ドキュメントのセキュアな処理に< a href="/enterprise/securedoc/">IronSecureDocを使用する方法も示し、Docker Composeの柔軟性を活用して暗号化および修正のための設定を効率的に処理します。

Dockerとは何ですか?

Docker は、コンテナ化を通じてシステム内でアプリケーションの開発、展開、実行を容易にするオープンソースのシステムです。 コンテナとは、アプリケーションとその依存関係を格納する超軽量のポータブルユニットで、開発者のマシンから本番サーバーまで、あらゆる場所で一様に動作します。 コンテナは、従来の仮想マシンに比べてホストのオペレーティングシステムのカーネルを共有するため、より高速で効果的です。

Docker Compose 環境変数(開発者チュートリアル): 図1 - Dockerウェブページ

これは、このコンテナのセットを作成し、維持するためのDockerイメージの形で仮想化されたテンプレートを意味します。 さらに、このプラットフォームにはDocker Hubが含まれており、いわばコンテナのイメージリポジトリです。 この技術の素晴らしさは、スケーラビリティ、移植性、効率性に関する使いやすさにあり、多くのDevOpsやクラウドベースの開発ワークフローで人気を博している理由の1つです。

Docker-Composeの環境変数とは何ですか?

Dockerでは、コンテナ化されたアプリケーションの設定を構成するために、キーと値のペアの形式の環境変数が使用されます。 このような変数は、アプリケーションの動作をコードを変更せずに制御するのに役立ちます。なぜなら、例えばデータベースの認証情報やAPIキー、環境モード(例:開発、本番)が簡単に変更できるからです。

Dockerでは、環境属性はDockerfileの中やdocker-compose.ymlファイルの中で定義したり、docker runコマンドを使って実行時に渡すことができます。 環境変数を使用することで、Dockerは異なる環境間で一貫性のある柔軟なアプリケーションのデプロイを可能にし、パスワードやAPIトークンのような機密データをより効果的に管理します。

Dockerで環境変数を作成するには?

Dockerの環境変数は、非常に多くの方法で定義することができます。 これらはDocker Composeファイル、docker-compose.ymlファイル、環境ファイル、あるいはdocker runコマンドの実行時に定義することができます。 環境変数をメインの構成ファイルから分離しておくことは、変数の整理を容易にします! 以下は、変数を定義するために適用できるさまざまな方法のリストです。

Dockerファイルに環境変数を設定する

ENV命令を使って、Dockerファイルに直接環境変数を定義することができます。 これは、Dockerイメージ内の変数にデフォルト値を含めたい場合に役立ちます。

# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev

Dockerファイルで定義された値で環境変数を設定すると、自動的にコンテナが実行されます。

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

実行時に環境変数を設定する

docker run コマンドで -e フラグを使用することで、コンテナの実行時に環境変数を指定することができます。 これは、おそらくDockerファイルには追加しないような、一時的で動的な値に適しています。

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

環境ファイル(.env)の使用

環境変数を`.env`のようなファイルに保存し、それをDockerコンテナにロードすることができます。 Docker Composeでは、envファイルディレクティブでそれを参照します。

APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev

envファイルの助けを借りて、設定ファイルの外に環境変数を持つ複数のファイルを管理することができます。

IronSecureDocとは何ですか?

IronSecureDoc for Docker は、開発者がコンテナ化されたアプリケーションにセキュアなドキュメント処理機能を簡単に追加できるようにします。 最終的にDockerを学ぶことで、ASP.NET CoreアプリケーションとIronSecureDocを均質な環境でカプセル化することができ、デプロイと拡張が容易になります。 そのために、IronSecureDocライブラリと、場合によってはその他のインストールスクリプトや動作に必要な設定を使用して、ASP.NET Coreアプリケーションの構築をオーケストレーションするDockerfileを構築します。

Docker Compose 環境変数(開発者チュートリアル):図2 - IronSecureDocウェブページ

さらに、サービスの依存関係や環境変数、マッピングされたポートを宣言する docker-compose.yml ファイルも含まれています。 これにより、ドキュメント・セキュリティ・タスクの実行がより身近になり、開発時や生産時に使用する環境以外の環境でも、アプリケーションを効率的かつ効果的に実行できるようになります。 IronSecureDocのインストールと設定 Dockerの場合と同様に、IronSecureDocの適切なインストールと設定は、ドキュメントの暗号化、再編集などの機能を適切に実現するために必要です。

IronSecureDocの主な機能

IronSecureDocはPDFセキュリティと文書管理のための強力な機能を提供します:

  • 暗号化: ドキュメントの機密性を保護するために、パスワードベースのセキュリティで128ビットまたは256ビットの暗号化を提供します。
  • 編集: プライバシー基準や規制に適合するために、個人識別子などの機密情報を削除します。
  • デジタル署名:ドキュメントの真正性を保証するために、.pfxまたは.p12証明書を使用したデジタル署名および公証をサポートします。
  • REST API: 柔軟なAPIは、他のソフトウェアやワークフローとのシームレスな統合を可能にします。
  • Docker統合: Dockerのネイティブサポートにより、クラウドまたはオンプレミスのアプリケーションのデプロイとスケーリングが簡素化されます。

    IronSecureDocは、法律、医療、金融などの機密文書を扱う分野に最適です。

IronSecureDocのインストールと実行

ステップ 1

IronSecureDocをインストールするには、ターミナルウィンドウまたはコマンドプロンプトで以下のコマンドを実行し、リポジトリからIronSecureDoc Dockerイメージを取得してください。

docker pull ironsoftwareofficial/ironsecuredoc

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

Docker Compose 環境変数 (開発者向けチュートリアル): 図 4 - IronSecureDoc イメージを実行したときのコンソール出力

IronSoftwareの公式リポジトリを実行するためにdockerコンテナを使用します。 上に示したコマンドラインはいくつかの部分に分かれており、以下に説明します。

コマンドの説明

  • docker container run - このコマンドは、指定されたイメージを使用して新しいDockerコンテナを構築し、起動します。
  • --rm - コンテナが停止すると同時に自動的にクリーンアップします。 どのプロセスも完了した時点で、未使用のコンテナはすべて削除されます。
  • -p 8080:8080 - コンテナのポート8080を公開させ、http://localhost:8080からあなたのマシンでアクセスできるようにします
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - 実行中のコンテナに IronSecureDoc_LicenseKey という名前の環境変数を設定し、IronSecureDoc のライセンス機能をオンにして使用できるようにします。 を実際のキーに置き換えてください。
  • -e ENVIRONMENT=Development - 環境変数はDevelopmentに設定されています。 つまり、コンテナは開発モードで実行する必要があります。 通常、このコンテナはテストまたはデバッグのケースに使用されます; それ以外は、本番環境とは異なります。
  • -e HTTP_PORTS=8080 - この環境変数は、HTTPトラフィック用にコンテナがポート8080を公開し、リッスンすべきであることを指定するために使用されます。 この特定のポートを通過することで、コンテナ内のサービスにアクセスできるようにします。
  • ironsoftwareofficial/ironsecuredoc:latest - これは単なるDockerイメージです。 docker properはDocker for IronSecureDocのレジストリから利用可能な最新バージョンのイメージを作成します。

IronSecureDocコンテナ

IronSecureDocのREST APIは、Dockerで起動した後、ユーザがドキュメントを再編集、認証、暗号化することを可能にします; この機能は、他の場所でも言及されています。 APIエンドポイントとSwagger UIでのドキュメントは、DockerコンテナでIronSecureDocを起動したらこちらです: 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'

こうすることで、IronSecureDocはドキュメントを取得し、適切に暗号化します。

結論

まとめると、Docker Composeの環境変数は、設定の詳細が自動的にアプリケーションコードから切り離されるため、非常に柔軟で効率的な方法でアプリケーションの設定を可能にします。 その結果、開発、テスト、本番といったさまざまな環境の管理がより簡単になり、アプリケーションのコードではなく、APIキー、データベース認証情報、設定などの変数だけを変更する必要があります。

IronSecureDoc を実装するために Docker Compose を使用することで、例えば IronSecureDoc_LicenseKey のようなライセンス情報を安全に扱うための環境変数や、HTTP ポートの指定、環境変数による開発または本番環境モードの指定が可能になります。 セットアップに環境変数を使用することで、IronSecureDocのデプロイがよりシンプルになり、設定が乱雑になりにくく、セキュリティが向上します。

IronSecureDocの有効なライセンスを通じて、高度な機能が利用可能になります。 ツールの適用は、特定の使用条件に厳密に依存します。 ただし、Iron Software が提供する他の高性能ライブラリも利用することで、開発プロセスをより簡単かつ迅速にし、PDF、テキスト認識、およびバーコードに関する強力な機能をあらゆるアプリケーションで提供できます。

Docker Compose 環境変数 (開発者向けチュートリアル): 図6 - IronSecureDoc ライセンスページ

チャクニット・ビン
ソフトウェアエンジニア
ChaknithはIronXLとIronBarcodeで作業しています。彼はC#と.NETに深い専門知識を持ち、ソフトウェアの改善と顧客サポートを支援しています。ユーザーとの対話から得た彼の洞察は、より良い製品、文書、および全体的な体験に貢献しています。
< 以前
Dockerコンテナリスト(開発者向けの仕組み)
次へ >
Docker Compose ビルド(開発者チュートリアル)