フッターコンテンツにスキップ
IRONSECUREDOCを使用する

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

異なる環境にアプリケーションを展開すると、互換性の問題が発生することがよくあります。 アプリが開発者のマシンで完璧に動作しても、オペレーティングシステム、依存関係、または構成の違いにより、テストまたは本番環境で問題が発生することがあります。 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

Dockerfileに定義された値で環境変数を設定すると、コンテナの実行時に自動的に適用されます。

Docker-Compose.ymlで環境変数を設定する

Docker-compose.ymlの環境キーワードを使用して、各サービスに対する環境変数を定義できます。 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
YAML

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

-eフラグを使用して docker run コマンドとともにコンテナを実行するときに、環境変数を指定することができます。 Dockerfileに追加することはまずないであろう、一時的かつ動的な値に適しています。

docker run -e APP_ENV=development -e DATABASE_URL=postgres://user:password@db:1234/mydev myapp:latest
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
# .env file
APP_ENV=production
DATABASE_URL=postgres://user:password@db:1234/mydev
SHELL

envファイルの助けを借りて、構成ファイル外の環境変数を持つ複数のファイルを管理できます。

IronSecureDoc とは何ですか?

IronSecureDoc for Dockerにより、開発者はコンテナ化されたアプリケーションにセキュリティ文書処理機能を簡単に追加できます。 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は優れた選択肢となります。

Installing and Running IronSecureDoc

ステップ 1

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

docker pull ironsoftwareofficial/ironsecuredoc
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
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イメージの実行からのコンソール出力

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

コマンド説明

  • docker container run - 指定されたイメージを使用して新しいDockerコンテナを構築および起動するこのコマンド。
  • --rm - 実行が停止したら直ちにコンテナを自動的にクリーンアップします。 プロセスが完了する時点で未使用のコンテナすべてを削除します。
  • -p 8080:8080 - コンテナのポート8080を公開し、http://localhost:8080 からアクセスできるようにします。
  • -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> - IronSecureDocのライセンス機能を有効にして使用できるようにする、IronSecureDoc_LicenseKeyという名前の環境変数を実行中のコンテナに設定します。 実際のキーを<IRONSECUREDOC_LICENSE_KEY>で置き換えます。
  • -e ENVIRONMENT=Development - 環境変数がDevelopmentに設定されています。 これは、コンテナを開発モードで実行する必要があることを意味します。 通常、このコンテナはテストまたはデバッグケースで使用されます; それ以外の場合は、本番外の構成によって異なります。
  • -e HTTP_PORTS=8080 - この環境変数は、コンテナがHTTPトラフィックのためにポート8080を公開し、リッスンする必要があることを指定するために使用されます。 * ironsoftwareofficial/ironsecuredoc:latest - これはDockerイメージです。
  • ironsoftwareofficial/ironsecuredoc:latest - これはDockerイメージです。 ### IronSecureDocコンテナ

IronSecureDocのREST APIは、Dockerで起動された後に、文書を編集、認証、および暗号化することができます。

IronSecureDocのREST APIは、Dockerで起動した後にドキュメントを編集、認証、暗号化することをユーザーに許可します。 Docker Compose 環境変数(開発者チュートリアル):図5 - APIエンドポイントと対話するためのSwagger UI

Docker Compose環境変数(開発者チュートリアル):図5 - APIエンドポイントと対話するためのSwagger UI

これを行うと、IronSecureDocは文書を受け取り、適切に暗号化します。

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'
SHELL

まとめると、Docker Composeの環境変数により、アプリケーションの構成が非常に柔軟かつ効率的になります。なぜなら、構成の詳細がアプリケーションコードから自動的に分離されるからです。

結論

その結果、APIキー、データベース資格情報、アプリケーションの設定などの変数だけを変更すればよいため、開発、テスト、本番などの異なる環境を管理するのが簡単になります。 IronSecureDocを実装するためにDocker Composeを使用することで、ライセンス情報の安全な処理に環境変数を使用し、特にIronSecureDoc_LicenseKeyやHTTPポート、または開発または本番として選択された環境モードなどの指定にも環境変数を利用できます。

セットアップに環境変数を使用することで、IronSecureDocのデプロイをよりシンプルにし、煩雑でスケーラビリティの低い構成を避け、セキュリティを向上させます。 有効なライセンスを通じて、高度な機能が利用可能になります。

高度な機能は、有効なライセンスのIronSecureDocを通じてアクセス可能になります。 Iron Softwareが提供する他の高性能ライブラリも利用して、開発プロセスをより簡単かつ迅速に行うことができ、PDF、テキスト認識、バーコードに関する強力な機能を提供し、あらゆるアプリケーションでの作業が可能です。 Docker Compose 環境変数(開発者チュートリアル):図6 - IronSecureDocのライセンスページ

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

よくある質問

Docker Compose はアプリケーションのデプロイをどのように改善できますか?

Docker Composeは、環境変数を使用して外部から構成を管理することで、アプリケーションのデプロイを改善します。これにより、アプリケーションコードを変更せずに異なる環境で簡単にスケーリングと適応が可能になります。

Dockerでは環境変数がどのような役割を果たしますか?

Dockerの環境変数は、コードから独立してアプリケーションの設定を構成する、キーと値のペアです。これにより、パスワードやAPIキーなどの機密情報を安全に管理できます。

IronSecureDocは、安全なドキュメント処理のためにDockerとどのように統合されますか?

IronSecureDocはDockerと統合し、Dockerコマンドを使用してダウンロードして実行できるDockerイメージを提供します。環境変数を使用して、暗号化、編集、デジタル署名などの安全なドキュメント処理機能を設定します。

Docker Composeで環境変数を使用する利点は何ですか?

Docker Composeで環境変数を使用することで、柔軟な構成管理が可能になり、機密データをアプリケーションコードの外に置くことでセキュリティが向上し、さまざまな環境でのデプロイプロセスが効率化されます。

Docker環境でIronSecureDocを実行する方法は?

Docker環境でIronSecureDocを実行するには、必要な環境変数を指定してdocker container run --rm -p 8080:8080 -e IronSecureDoc_LicenseKey=-e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest というコマンドを使用します。

IronSecureDocが提供するドキュメントセキュリティの機能は何ですか?

IronSecureDocは、ドキュメントの暗号化、編集、デジタル署名、およびDockerとのシームレスな統合などの機能を提供し、コンテナ化された環境での安全なドキュメント処理を可能にします。

Docker Composeセットアップで環境変数を設定する方法は?

環境変数は、Docker Composeでdocker-compose.ymlファイル、環境ファイル、または実行時コマンドを使用して設定できます。これにより、アプリケーション構成を管理する柔軟性とセキュリティが提供されます。

Dockerデプロイにおいて、構成をコードから分離することが重要である理由は?

Dockerデプロイにおいて、環境変数を使用して構成をコードから分離することは、セキュリティを強化し、さまざまな環境での管理を簡素化し、機密情報の漏えいのリスクを低減します。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。