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

Docker Container List (開発者向けの仕組み)

今日の急速に変化するソフトウェア開発の環境では、アプリケーションの効率的な展開と管理が重要です。 Dockerは、軽量で移動可能なコンテナ内でアプリケーションの展開を自動化するための主要なソリューションとして浮上しています。 アプリケーションとその依存関係をカプセル化することで、Dockerはローカル開発から本番環境に至るまで、一貫したパフォーマンスを保証します。

このコンテナ化技術は、スケーラビリティとリソース管理を簡素化し、現代のDevOpsプラクティスと継続的インテグレーション/継続的デプロイメント (CI/CD) パイプラインにおいて欠かせないツールとなっています。 この記事では、Dockerの基礎、コンテナの概念、およびアプリケーションの展開プロセスを強化する方法について探求し、IronSecureDocがDockerを活かしてスケーラブルなソリューションを提供するドキュメントセキュリティツールについて詳しく見ていきます。

Dockerとは?

Dockerは、軽量で移動可能なコンテナ内でアプリケーションの展開を自動化するオープンソースの環境です。 コンテナはアプリケーションの依存するすべてのパッケージをパッケージ化し、どこでアプリケーションが実行されても同じ方式で動作するようにしています; それが開発者のノートパソコンでの動作であっても、テストサーバーであっても、あるいは本番環境であっても。 Dockerは、アプリケーションを基盤のインフラストラクチャから隔離することにより効率性をもたらし、同一ホスト上で複数のコンテナを並行して実行できます。

Dockerコンテナリスト (開発者にとっての動作方法): 図1 - Dockerコンテナのユースケース

これにより、スケーラビリティとリソース管理が簡素化されます; Dockerを使用することで、開発から本番へのワークフローがより簡単で整理され、したがって現代のDevOpsとCI/CDパイプラインの主要なプレイヤーです。

コンテナとは何か?

コンテナは、軽量で自己完結型の実行可能なパッケージで、コードやランタイムからシステムツール、ライブラリ、設定まで、ソフトウェアの実行に必要なすべてが1つにまとめられています。 これはホストや他のコンテナから隔離された環境でありながら、同じオペレーティングシステムカーネルを共有しており、従来の仮想マシンと比べて非常に効率的で高速です。

Dockerコンテナリスト (開発者にとっての動作方法): 図2 - Dockerコンテナのビジュアライゼーション

Dockerコンテナは移動性に優れています。 ソフトウェア開発者が開発のために自分のラップトップで動かすことができ、テスターがテスト用にサーバーで動かすことができるなら、理想的にはクラウド環境や本番環境でも同じコンテナのスタックを実行できます。 移動性とコンテナの隔離性、スケーラビリティが合わさることで、Dockerは現代のソフトウェア展開およびCI/CDパイプラインにとって不可欠なツールとなっています。

コンテナは、どこでアプリケーションが展開されても同じように動作することを開発者が保証できるDockerの機能の中心です。

Dockerコンテナの一覧表示

Dockerを使用して実行する操作の中にはコンテナをリストすることが含まれており、彼らのステータスを監視したり、より良く管理したりできるようにするためです。 そのためのDockerコマンドがあり、実行中のコンテナのみを表示するか、停止したコンテナを含むすべてのコンテナを表示するかによって変わります。

以下にDockerコンテナをリストする方法を示します:

1. 実行中のコンテナの一覧表示

現在実行中のコンテナのみをリストするには、以下のdocker psコマンドを使用します:

docker ps
docker ps
SHELL

このコマンドは以下の列を返します:

  • コンテナ ID: コンテナのユニークな識別子です。
  • イメージ: コンテナが作成された元となるDockerイメージです。
  • コマンド: コンテナが実行するコマンドです。
  • 作成日時: コンテナが作成された時間です。
  • ステータス: コンテナが実行中か終了したかです。
  • ポート: ホストのポートとコンテナのポートのマッピングです。
  • 名前: コンテナに割り当てられた名前で、自動生成される場合もあれば手動で設定することもできます。

Dockerコンテナリスト (開発者にとっての動作方法): 図3 - 'docker ps'コマンドの出力例

新しいコマンド'docker container ls'も使用できますが、ここでは'docker ps'コマンドの構文に集中します。

2. すべてのコンテナの一覧表示 (実行中および停止済み)

すべての実行中および停止済みのコンテナを表示するには、-aフラグを使用します:

docker ps -a
docker ps -a
SHELL

このコマンドはdocker psと同じ列を返しますが、停止されたまたは終了したコンテナ、またはすべての作成されたコンテナを含みます。 このコマンドは、停止したコンテナを管理したり、クラッシュまたは終了したコンテナの問題をトラブルシューティングするのに便利です。

Dockerコンテナリスト (開発者にとっての動作方法): 図4 - 'docker ps -a'コマンドの出力

3. コンテナIDのみの一覧表示

コンテナIDのみを表示する場合 (スクリプトや自動化のために役立つ場合があります)、-qフラグを使用できます:

docker ps -q
docker ps -q
SHELL

コマンドdocker ps -qは実行中のコンテナIDのみを出力し、IDを他のDockerコマンドに簡単に渡してバッチ処理することを可能にします。

例えば、docker stopと組み合わせることで、すべての実行中のコンテナを停止することができます:

docker stop $(docker ps -q)
docker stop $(docker ps -q)
SHELL

Dockerコンテナリスト (開発者にとっての動作方法): 図5 - 'docker ps -q'コマンドの出力

4. コンテナリストの絞り込み

docker psコマンドの出力を特定の基準に基づいて絞り込むためには、--filterオプションを使用できます。 以下では、ステータスによってコンテナをリストする例です:

docker ps -f "status=exited"
docker ps -f "status=exited"
SHELL

これにより、終了したコンテナのみがリストされます。 イメージ名、ラベル、ポートや名前などのカスタム基準で絞り込むこともできます。

Dockerコンテナリスト (開発者にとっての動作方法): 図6 - フィルタリングコマンドの出力

5. 出力のフォーマット化

可読性を高めるためやカスタム出力のために、Dockerは結果を--formatオプションを使ってフォーマットすることができます。 例えば、コンテナのIDと名前のみをリストする場合には、以下を使用できます:

docker ps --format "{{.ID}}: {{.Names}}"
docker ps --format "{{.ID}}: {{.Names}}"
SHELL

これは、スクリプトやツールでDockerコンテナ管理を行う際に、特定の情報が必要な場合に特に便利です。

Dockerコンテナリスト (開発者にとっての動作方法): 図7 - フォーマットされたdocker psコマンドの出力

IronSecureDoc とは何ですか?

IronSecureDocは、暗号化、赤色化、デジタル署名機能を提供し、機密ファイルを保護するためのドキュメントセキュリティツールです。 ユーザーがPDFドキュメントを安全にし、彼らの所持する個人情報や機密データを制御できるようにします。 いくつかの機能には、パスワード保護、PDF/Aなどの基準への準拠、デジタル認証が含まれ、法律、医療、金融分野でよく使用されます。 このソフトウェアはREST APIとして利用可能で、さまざまなワークフローに高度に統合でき、Docker上で展開可能でスケーラブルかつクラウド対応のセキュリティソリューションを提供します。

Dockerコンテナリスト (開発者にとっての動作方法): 図8 - IronSecureDocウェブページ

IronSecureDocの特徴

IronSecureDocはPDFセキュリティ処理とドキュメント管理において非常に優れています。 その機能には暗号化、赤字化、デジタル署名が含まれます:

  • 暗号化: 128または256ビット暗号化によるPDFドキュメントの暗号化を提供し、データ機密性を維持するためのパスワードベースのセキュリティを提供します。
  • 赤色化: この機能は個人識別子やその他の機密情報などを削除し、プライバシー基準や規制に準拠していることを保証します。
  • デジタル署名: .pfxや.p12をサポートするPDFの公証されたデジタル署名機能を備え、ドキュメントの真正性を保証します。
  • 準拠性: PDF/AやPDF/UAの基準に適合し、長期保存やアクセシビリティに有益です。
  • REST API: 他のソフトウェアやワークフローとの統合を可能にする柔軟なREST APIがあります。
  • ドキュメントバージョン管理: すべての変更の追跡やドキュメントコントロールを改善するためのバージョン管理を提供します。
  • Docker統合: Dockerとのネイティブ統合で、スケーラブルなクラウドやオンプレミス環境での展開を容易にします。

これらの機能は、法律、医療サービス、金融セクターでの機密文書の取り扱いに強力なツールとなります。

IronSecureDocをDockerコンテナに引っ張る方法

ターミナルウィンドウまたはコマンドプロンプトを開き、リポジトリからIronSecureDoc Dockerイメージを引っ張るには、このコマンドを使用します:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Dockerコンテナリスト (開発者にとっての動作方法): 図9 - IronSecureDoc Dockerイメージを引っ張る際のコンソール出力

DockerコンテナからIronSecureDocを実行する

イメージを引っ張ったコンテナを取得したので、そのコンテナを起動してIronSecureDocという名前の稼働中のコンテナを開始するために別のコマンドを実行できます。 -pフラグを使用してポートマッピングを行ったり、--rmフラグを使用してコンテナを停止後に削除したりできます:

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コンテナリスト (開発者にとっての動作方法): 図10 - DockerコンテナからIronSecureDocを実行する際のコンソール出力

Using IronSecureDoc with Docker Container

IronSecureDocは、インストールおよびDocker上で起動された後、REST APIを使用して文書を赤色化、認証、および暗号化するために使用できます。 こちらのリンクで、IronSecureDocをDockerコンテナで起動した後、APIエンドポイントとSwagger UIによるドキュメンテーションを参照できます: http://localhost:8080/swagger/index.html.

Dockerコンテナリスト (開発者にとっての動作方法): 図11 - 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'
SHELL

このリクエストは、ドキュメントをIronSecureDocに送り、所望の暗号化を適用します。

結論

'docker ps'や'docker ps -a'といったコマンドは、実行中および停止中のコンテナの監視、保守、管理を容易にし、Dockerコンテナ管理を効率的にします。 そのようなコマンドは、開発者やシステム管理者が異なる環境でコンテナをフィルター、フォーマット、操作するのに役立ち、効果的なアプリケーション管理を可能にします。

IronSecureDocは、Dockerコンテナとして暗号化、赤色化、デジタル署名などの文書セキュリティ機能の展開とスケーリングを促進し、異なるプラットフォームにわたってパフォーマンスとセキュリティを維持します。 IronSecureDocのライセンスについて詳しく知りたい方は、こちらをご覧ください。 また、Iron Softwareは、開発プロジェクトをさらに向上させるさまざまな製品を提供しており、こちらで詳しく学べます。

よくある質問

Dockerはどのようにアプリケーションデプロイを自動化しますか?

Dockerはアプリケーションとその依存関係をすべてパッケージ化して、軽量で持ち運び可能なコンテナに収めることによってアプリケーションデプロイを自動化します。これにより、アプリケーションが開発から本番までの異なる環境で一貫して動作することが保証されます。

コンテナは現代のソフトウェア開発にとってなぜ重要ですか?

コンテナは特定のアプリケーションに必要なすべての依存関係を含む自己完結型の環境を提供するため重要です。この分離により、一貫したパフォーマンスが得られ、スケーラビリティとリソース管理が簡素化され、現代のDevOpsプラクティスに不可欠です。

実行中のDockerコンテナをリストするにはどうすればいいですか?

実行中のDockerコンテナは、docker ps コマンドを使用してリストすることができます。このコマンドは、コンテナID、イメージ、ステータスなどの詳細を提供します。

停止中のものを含めたすべてのDockerコンテナをリストするコマンドは何ですか?

停止中のコンテナも含めたすべてのDockerコンテナをリストするには、docker ps -a コマンドを使用します。これはDockerコンテナの管理とトラブルシューティングに便利です。

特定の条件に基づいてDockerコンテナをフィルタリングするにはどうすればよいですか?

Dockerコンテナリストをフィルタリングするには、--filter オプションを使用します。例えば、docker ps -f "status=exited" は終了したコンテナのみを表示します。

ドキュメントセキュリティアプリケーションにDockerを使用する利点は何ですか?

IronSecureDocのようなドキュメントセキュリティアプリケーションでDockerを使用することにより、スケーラビリティと柔軟性が提供されます。暗号化、墨消し、デジタル署名などの機能をセキュアでスケーラブルな環境内でシームレスに統合・デプロイできます。

ドキュメントセキュリティツール用のDockerイメージを取得するにはどうすればいいですか?

ターミナルでコマンド docker pull ironsoftwareofficial/ironsecuredoc を使用して、ドキュメントセキュリティツール用のDockerイメージを取得できます。

Docker環境に適したドキュメントセキュリティツールの特徴は何ですか?

IronSecureDocのように、Docker環境に適したドキュメントセキュリティツールには、PDF暗号化、墨消し、デジタル署名、および統合用のREST APIなどの特徴があり、コンテナ内で効率的にデプロイおよび管理できます。

Dockerコマンド出力をより読みやすくするためにカスタマイズするにはどうすればよいですか?

Dockerコマンド出力をカスタマイズするには、--format オプションを使用できます。例えば、docker ps --format "{{.ID}}: {{.Names}}" はコンテナのIDと名前のみを表示します。

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

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

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