IRONSECUREDOCの使用

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

公開済み 2024年12月16日
共有:

イントロダクション

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

Docker Composeは、コンテナ化されたアプリケーションに強力なメリットをもたらします。特に、環境変数を使用することで、異なるセットアップ間での設定を簡素化することができます。 主要な設定をコード外で管理できるようにすることで、Docker Composeは複雑なアプリケーションのデプロイをより簡単かつ安全にします。 これらの利点に基づき、この記事ではIronSecureDocDocker Composeの柔軟性を活用し、暗号化や再編集の設定を効率的に処理することで、セキュアなドキュメント処理を実現します。

Dockerとは何ですか?

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

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

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

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

Dockerでは、コンテナ化されたアプリケーションの設定を構成するために、キーと値のペアの形式の環境変数が使用されます。 このような変数は、コードを変更することなく、アプリケーション自体の動作を制御するのに便利です。(例:開発、生産)が変更される可能性があります。

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
# Dockerfile
ENV APP_ENV=devepolment
ENV DATABASE_URL=postgres://user:password@db:1234/mydev
#Dockerfile
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ENV APP_ENV=devepolment ENV DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

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
version: '3.8'
services:
  myapp:
    image: myapp:latest
    environment:
      - APP_ENV=development
      - DATABASE_URL=postgres://user:password@db:1234/mydev
version:
'INSTANT VB TODO TASK: The following line uses invalid syntax:
''3.8' services: myapp: image: myapp:latest environment: - APP_ENV=development - DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

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

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

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker run -e APP_ENV=development -e DATABASE_URL=postgres: 'user:password@db:1234/mydev:latest
VB   C#

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

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

APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'APP_ENV=production DATABASE_URL=postgres: 'user:password@db:1234/mydev
VB   C#

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

IronSecureDocとは何ですか?

IronSecureDocfor 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 pull ironsoftwareofficial/ironsecuredoc
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker pull ironsoftwareofficial/ironsecuredoc
VB   C#

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 container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest
VB   C#

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

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

コマンドの説明

  • docker container run - このコマンドは、与えられたイメージを使って新しいDockerコンテナを構築し、起動します。
  • **--コンテナの実行を停止すると、直ちに自動的にクリーンアップします。 どのプロセスも完了した時点で、未使用のコンテナはすべて削除されます。
  • -p 8080:8080 - コンテナのポート8080を公開させ、http://localhost:8080
  • -e IronSecureDoc_LicenseKey= *-** IronSecureDocのライセンス機能をオンにして使用できるIronSecureDoc_LicenseKeyという環境変数を実行中のコンテナに設定します。 を実際のキーに置き換えてください。
  • -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エンドポイントDockerコンテナでIronSecureDocを起動すると、http://localhost:8080/swagger/index.html、Swagger UIでドキュメントを作成できます。

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'
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'
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'curl -X 'POST' \ 'http: -H 'accept: */ *' \ -H 'Content-Type: multipart/form-data' \ -F 'pdf_file=@test.pdf;type=application/pdf'
VB   C#

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

結論

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

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

高度な機能は、有効なライセンスIronSecureDocの。 ツールの適用は、特定の使用条件に厳密に依存します。 他の高性能ライブラリを利用することもできますがIronSoftwarePDF、テキスト認識、BarCodeなど、あらゆるアプリケーションに対応する堅牢な機能を提供し、開発プロセスをより簡単かつ迅速にします。

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

< 以前
Dockerコンテナリスト(開発者向けの仕組み)
次へ >
Docker Compose ビルド(開発者チュートリアル)