IRONSECUREDOCの使用

Dockerイメージからコンテナを起動する (開発者チュートリアル)

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

Dockerとは何ですか?

Docker は、軽量で移植可能なコンテナ内でアプリケーションを自動的にデプロイし、管理するオープンソースのプラットフォームです。 コンテナは、アプリケーションを、ライブラリや設定ファイルを含む依存関係とともにパッケージ化し、異なる環境でも一貫して実行できるようにします。 これは、開発とテストをより簡単にします。なぜなら、アプリケーションは開発者のラップトップ、サーバー、またはクラウド環境であっても、さまざまなシステムで同一に実行できるからです。 アプリケーション管理におけるスケーラビリティは、コンテナの開発、出荷、実行を効率的に行うことを意味し、Dockerはそれを備えています。

イメージからコンテナを開始する (開発者向けチュートリアル): 図1 - Docker

多くの点で、Dockerイメージは開発者にとって一貫したランタイム環境の仕様をより簡単にします。 ほとんどのビルド済みイメージは、Docker Hubと呼ばれるオープンレジストリで見つけることができ、開発者はそれらを直接使用するか、要件に応じて内容を変更します。 複数のコンテナを含むアプリケーションでは、Docker Composeのようなツールがコンテナをオーケストレーションし、Kubernetesはさらに難しいスケーリングと自動化を管理できます。 このように、Dockerはソフトウェア開発とDevOpsにおいて不可欠なツールとなっています。

Dockerコンテナとは何ですか?

Docker コンテナは、基本的に、ライブラリ、バイナリ、設定ファイルなどのすべての依存関係を含むアプリケーションを、軽量のスタンドアロン実行可能エンティティとしてパッケージ化したものです。 分離して設計されたコンテナは、ホストオペレーティングシステムのカーネル上で実行されますが、他の実行中のソフトウェアによる干渉は回避されます。 起動、停止、削除が簡単なため、テスト、デプロイ、スケーリングに理想的です。

Dockerコンテナの機能

  • 分離: コンテナは隔離された環境で実行されます。 異なる依存関係やライブラリを使用していても、アプリケーション同士が競合することはありません。
  • 軽量: コンテナはホストオペレーティングシステムのカーネルを共有しているため、かなり小型で、VMよりも起動時間が速いです。
  • ポータビリティ: コンテナはDockerを使用することで他のシステム上で決定論的に実行されるため、開発、テスト、および本番環境で一貫しています。
  • スケーラビリティ: コンテナは容易に複製およびスケーリングでき、マイクロサービスの迅速なデプロイメントおよび管理をサポートします。
  • リソース効率: コンテナはVMよりも少ないリソースを消費するため、コンピュータリソースの効率的な利用とともに高い密度が必要です。

Dockerイメージとは何ですか?

したがって、Dockerイメージとは、コンテナを作成するための命令です; .NET、Java、Python、またはNode.jsを含むプロジェクトに携わるソフトウェア開発者を対象としています。 Dockerfilesはイメージを形成する際に使用され、ソフトウェアのインストールやファイルのコピーと同じくらい面倒なDockerイメージの構築方法が含まれています。 このDockerfileが変更されるたびに、新しいイメージレイヤーが作成され、効率的でモジュール化された状態を維持します。 イメージを起動し、そのイメージに基づいたコンテナインスタンスをライブで実行させるだけです。

Dockerイメージの特徴

  • マルチレベルスタック: 画像はレイヤーを通じて構成されており、Dockerfileでは各命令が一つのレイヤーの作業を発生させます。 そのため、変更されたレイヤーのみを再構築する必要があるため、ビルドを最適化する必要があります。
  • 再利用性: Ubuntuやnodeのようなベースイメージは、あるプロジェクトから別のプロジェクトへ再利用できます。 これにより、開発時間とリソースを大幅に節約できます。
  • バージョニング: 画像にタグを付けてバージョニングをサポートできます。 これにより、必要なときに以前のバージョンにロールバックすることが容易になります。
  • モジュール性: 画像へのすべての変更は増分的に行われるため、完全な画像を再構築することなく更新が簡単で、非常に手間がかかりません。
  • Docker Hubで利用可能: イメージを共有およびデプロイするのを簡単にする公共およびプライベートイメージレジストリ。

Dockerコンテナの作成方法

Dockerfileは、Dockerイメージの作成方法を説明するテキストファイルです。 このファイルには、ベースイメージ、依存関係、アプリケーションコード、環境変数、アプリケーションを実行するためのコマンドを記述します。 以下は簡単な例です:

# Use an official Node.js runtime as a parent image
FROM node:18
# Set the working directory in the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json /app
RUN npm install
# Copy the rest of the application code
COPY . /app
# Expose the application’s port
EXPOSE 3000
# Define the command to run the application
CMD ["node", "app.js"]
# Use an official Node.js runtime as a parent image
FROM node:18
# Set the working directory in the container
WORKDIR /app
# Copy package.json and install dependencies
COPY package.json /app
RUN npm install
# Copy the rest of the application code
COPY . /app
# Expose the application’s port
EXPOSE 3000
# Define the command to run the application
CMD ["node", "app.js"]
#Use an official Node.js runtime as a parent image
#Set the working directory in the container
#Copy package.json and install dependencies
#Copy the rest of the application code
#Expose the application's port
#Define the command to run the application
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'FROM node:18 WORKDIR /app COPY package.json /app RUN npm install COPY. /app EXPOSE 3000 CMD ["node", "app.js"]
$vbLabelText   $csharpLabel

Dockerイメージをビルドする

Dockerfileを使ってDockerイメージを作成してください。 Dockerファイルを含むディレクトリから、ターミナルのコマンドラインで以下のコマンドを実行してください:

以下のコードを実行する前に、必ずDockerデスクトップをインストールしてください。

docker build -t my-app .

my-app という名前のイメージを作成します。イメージが作成されたことを確認するには、Dockerイメージを実行してください。

Dockerコンテナを実行する

イメージがあれば、Dockerコンテナを作成し、docker runコマンドを使って実行することができます。 Dockerデーモンは、デタッチモードまたはバックグラウンド実行でプロセスを起動し、監視します。

docker run -d -p 3000:3000 --name my-running-app my-app
  • -d: Dockerコンテナのモードを切り離す。
  • -map 3000:3000 コンテナ内で、ホストをコンテナのポート 3000 にマップする。
  • --名前 my-running-app:コンテナにユーザー定義の名前を割り当てます。

ベリファイコンテナ

実行中の docker コンテナを確認するには、以下を使用します:

docker ps

イメージからコンテナを開始 (開発者チュートリアル): 図2 - Dockerコンテナを実行

上記のコードは、コンテナID、名前、イメージ名など、実行中のコンテナの詳細を示しています。

コンテナの停止と削除

//Stop container
docker stop dazzling_snyder
// Remove container
docker rm dazzling_snyder
//Stop container
docker stop dazzling_snyder
// Remove container
docker rm dazzling_snyder
'Stop container
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'docker @stop dazzling_snyder docker rm dazzling_snyder
$vbLabelText   $csharpLabel

Docker イメージからコンテナを開始する (開発者チュートリアル): 図 3 - コンテナを停止

IronSecureDocとは何ですか?

IronSecureDoc Dockerは、Iron Softwareによって提供されるコンテナ化されたドキュメント処理ソリューションであり、Docker環境内で人間の介入なしにドキュメントを自動的に処理できます。 複雑なドキュメントワークフローと、PDFやドキュメントファイルの暗号化、電子署名、復号化、透かしなどによる最大限のデータ保護を提供します。 また、プラットフォーム間で一貫性のあるスケーラブルな分離デプロイメントを保証するため、DevOpsとCI/CDパイプラインの統合に適しています。

Docker イメージからコンテナを起動 (開発者向けチュートリアル): 図4 - IronSecureDoc: PDFセキュリティおよびコンプライアンスサーバー

このコンテナ化されたアプローチは、自動化や高いセキュリティ互換性を必要とするアプリケーションや、マイクロサービスやクラウドネイティブ環境でのドキュメントの取り扱いを強化します。 IronSecureDocは一般的に、十分に管理され移植可能なDockerコンテキストで信頼性の高い自動文書処理を必要とするアプリケーションを作成・構築する開発者に有用です。

IronSecureDocのインストールと実行

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

docker pull ironsoftwareofficial/ironsecuredoc

Docker イメージからコンテナを開始する (開発者チュートリアル): 図 5 - IronSecureDoc イメージをダウンロード

Dockerイメージを取り出した後、別のコマンドを実行してIronSecureDocというコンテナを起動します。

IronSecureDoc用の新しいコンテナの作成

docker container run --rm -p 8080:8080 -e ENVIRONMENT=Development -e HTTP_PORTS=8080 ironsoftwareofficial/ironsecuredoc:latest

上記のDocker runコマンドはIronSecureDocのコンテナインスタンスを作成します。

Docker イメージからコンテナを起動 (開発者チュートリアル): 図 6 - 新しいコンテナ

IronSecureDocコンテナの使用

IronSecureDocは、Dockerでのインストールと実行において、REST APIを通してファイルの再編集、認証、暗号化を可能にしました。

イメージからコンテナを開始する (開発者チュートリアル):図7 - SecureDoc Web API

例えば、ドキュメントを暗号化したい場合、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にドキュメントが自動的に転送され、IronSecureDocがデータを暗号化します。

結論

簡単に言うと、Dockerは開発者がイメージからコンテナを作成できるため、アプリケーションのデプロイが非常にスムーズになります。 そのため、ポータブルでスケーラブルな環境での統一性が求められます。 イメージからDockerコンテナを起動することが非常に可能になり、プラットフォーム間でアプリケーションを非常にスムーズに実行できるようになり、DevOpsやCI/CDパイプラインに非常に有益な柔軟なスケーリングで効率的なリソース利用をもたらします。

同様に、IronSecureDoc Dockerは、安全で自動化された文書処理ソリューションを提示するコンテナ化されたプレゼンテーションのDockerのアーキテクチャを使用しています。 DockerとIronSecureDocは共に、最新のソフトウェア開発において安全でスケーラブルなアプリケーションを構築するための強力なツールを提供します。 IronSecureDocのライセンスについて詳しく知るには、このライブラリスイートページを参照してください。

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