IRONSOFTWAREHOME

Iron Suite for .NET

10 .NETライブラリ。1つの完全なドキュメントスイート。

IRONPDF
IRONWORD
IRONXL
IRONPPT
IRONOCR
IRONBARCODE
IRONQR
IRONPRINT
IRONZIP
IRONWEBSCRAPER
IRONSECUREDOCを使用する

Docker Composeネットワーク(開発者向けの仕組み)

Curtis Chau
Curtis Chau
Updated: 2026年6月28日

Dockerとは何ですか?

Dockerは、軽量なポータブルコンテナ内でアプリケーションのデプロイとスケーリングを自動化するためのコンテナベースの概念を使用するオープンソースプラットフォームです。 簡単に言えば、Dockerコンテナはすべてのアプリケーションコードとその依存関係を1つのユニット内にまとめ、開発者のラップトップからテストサーバーや本番クラウドサーバーまで、一貫した環境を提供します。

Docker Compose ネットワーク(開発者向けの動作確認):図1

コンテナは仮想マシン(VM)のように振る舞わず、ホストシステムのオペレーティングシステムカーネルを共有するためです。 したがって、コンテナは非常に効率的で、起動が速いです。 実際に、Dockerコンテナは開発サイクルのすべての段階で一貫した動作を保証します。

実際、Dockerイメージはアプリケーション環境を保持するコンテナの記述のためのテンプレートです。 このセットには、コンテナライフサイクルを管理するためのツールキットも含まれています。 例えば、複数のコンテナで構成されるアプリケーションを編成するために使用できるDocker Composeがあります。 次に、イメージを共有するためのレジストリであるDocker Hubがあります。

Docker Compose Networksとは何ですか?

Docker Composeネットワークは、同じカプセル化された環境内でDocker Composeアプリケーション内のサービスを相互にやり取り可能にします。 1つ以上のサービスをdocker-compose.ymlファイルに定義すると、Docker Composeはそれらのサービスがホスト名としてサービス名を使用してお互いに通信できるようにデフォルトのネットワークを自動的に作成します。 基本的には、ユーザーが独自のネットワークと、作成されたネットワークを持つ複数のサービスを定義できるようにします。

デフォルトブリッジネットワーク: docker-compose upを実行する際にコンテナのネットワークを定義しない場合、Dockerは自動的にブリッジネットワークを作成します。 このデフォルトドライバネットワーク上では、すべてのコンテナがサービス名をホスト名として互いに通信できます。

カスタムネットワーク: これらのオプションを使用すると、ユーザーは1つまたは2つのカスタムネットワーク、さらにはユーザー定義のネットワークとしてさらに多くを定義できます。 コンテナポート内とdocker-compose.ymlファイル内でカスタムネットワークを定義できます。これらのネットワークにサービスを割り当てることで、コンテナの通信方法を制御します。

  • 内部ネットワークは、サービスを他から分離します。
  • 複数のネットワークは、特定のサービスが他のサービスと通信できるようにしながら、他のサービスにはそのアクセスを許可しません。

サービス発見: すべてのサービスには、構成内の名前に等しいホスト名が付与されます。 つまり、一つのコンテナ内の別のサービスを、他のサービスの名前を使って参照することができます。例えば、ウェブサービスでは、データベースコンテナのIPを参照するためにdbを使用します。

ネットワークモード: サービスに対して、ホスト、ブリッジ、またはnoneのネットワークモードを設定することもできます。 最も一般的に使用されるのはブリッジで、コンテナのトラフィックを隔離します。

Dockerネットワークドライバとは何ですか?

Dockerネットワークドライバは、コンテナ同士や他のコンテナやシステムとの接続と通信を説明します。 様々なユースケースがあり、ネットワークドライバは利用可能で、各ケースに異なるレベルの分離、接続性、および性能を提供します。 各ネットワークドライバとその使用法について説明します。

Dockerネットワークドライバの種類

ブリッジ(デフォルト)

内部のdockerネットワークは、単一ホストに基づいて他のコンテナと通信することを可能にします。ネットワークを指定せずにコンテナを起動した場合、Dockerはデフォルトのブリッジネットワークを使用します。

# Create a custom bridge network
docker network create --driver bridge my_bridge_network

# Run containers and connect to the custom network
docker run -d --name container1 --network my_bridge_network busybox sleep 3600
docker run -d --name container2 --network my_bridge_network busybox sleep 3600
SHELL

ここでは、サービス名を使用して通信することができ、例えばcontainer2のような方法です。

ホスト

ホストドライバを使用すると、コンテナはホストネットワークスタックを直接共有するため、カスタムネットワークの分離を得られません。

# Run a container using the host network
docker run -d --network host nginx
SHELL

NGINXコンテナは現在、ホストのIPとネットワークインターフェースを共有しているため、ネットワーク分離を回避しています。

オーバーレイ

これは、Docker SwarmやKubernetes環境で使用され、複数のホストにわたってコンテナを相互接続し、コンテナが仮想ネットワークを介して物理または仮想マシンを安全に接続します。

# Create an overlay network for use in a Docker Swarm cluster
docker network create -d overlay my_overlay_network

# Deploy a service in the Swarm cluster
docker service create --name web --network my_overlay_network nginx
SHELL

これは、複数のDockerホストにまたがるサービスをSwarmクラスタ内で作成します。

None

このnoneドライバは、コンテナのネットワークを無効にします。 このコンテナは、外部ネットワーク通信から隔離されます。

# Run a container with no network
docker run -d --network none busybox sleep 3600
SHELL

busyboxコンテナはインターネットにアクセスできず、他のコンテナのネットワークや外部世界への呼び出しを送信できません。

Macvlan

Macvlanドライバは、コンテナがMACアドレスを使用してネットワーク上で物理デバイスとして表示できるようにし、直接物理ネットワークにアクセスできます。

# Create a Macvlan network
docker network create -d macvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 \
  -o parent=eth0 macvlan_network

# Run a container on the Macvlan network
docker run -d --network macvlan_network busybox sleep 3600
SHELL

IPvlan

IPvlanドライバはMacvlanに似ていますが、Layer 2(MACアドレス)に依存せずにIPアドレスを割り当てることに焦点を当てています。 複数のコンテナが同じネットワークインターフェースを共有できます。

# Create an IPvlan network
docker network create -d ipvlan \
  --subnet=192.168.1.0/24 \
  --gateway=192.168.1.1 ipvlan_network

# Run a container on the IPvlan network
docker run -d --network ipvlan_network busybox sleep 3600
SHELL

ホストのLayer 2イーサネットインターフェースをネットワークと共有しますが、異なるIPアドレスを持ちます。

カスタムプラグイン

Dockerのカスタムプラグインは、サードパーティまたはユーザーが開発したネットワークドライバで、Dockerがデフォルトで提供する以上のネットワーク機能を詳細に提供します。 サードパーティのDockerプラグインは、Software-Defined Networkingなどの外部ネットワークソリューションフレームワークと統合し、セキュリティ、スケーラビリティ、およびマルチホストネットワークを改善します。 Dockerは、開発者やベンダーに柔軟なアーキテクチャを提供し、ネットワークプラグインをネイティブドライバと同じようにインストールして使用できるようにしています。

IronSecureDoc

IronSecureDoc for Dockerは、コンテナ化されたアプリケーションにセキュリティドキュメント処理機能を追加することを開発者にとって容易にします。 Dockerを使用すると、ASP.NET CoreアプリケーションをIronSecureDocで統合して、デプロイとスケーリングを簡素化する統一環境でカプセル化することができます。 それを実行するには、ASP.NET CoreアプリケーションをIronSecureDocライブラリおよびおそらく他のインストールスクリプトや設定を必要となるものとして構成するDockerfileを構築します。

Docker Compose ネットワーク(開発者向けの動作確認):図2 - IronSecureDoc

また、サービスの依存関係、環境変数、およびマップされたポートを含むdocker-compose.ymlファイルを含み、これへのアクセスを提供します。 したがって、ドキュメントのセキュリティに関連するタスクが管理しやすくなり、開発または本番で使用されるものとは異なる外部で効率的かつ効果的にWebアプリケーションを実行できるようにします。 Dockerの場合のように、IronSecureDocをインストールおよび設定することで、ドキュメントの暗号化、編集などで提供されるすべての機能を活用する必要があります。

IronSecureDocのインストールと実行

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

# Pull IronSecureDoc Docker image
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Docker Compose ネットワーク(開発者向けの動作確認):図3

Dockerリポジトリからイメージを取得した後、別のコマンドを使用してIronSecureDocを稼働中のコンテナとして起動できます。

# Run a container with network isolation and environment variables
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 runコマンドは、IronSecureDocのコンテナインスタンスを起動します。 ネットワーク隔離にはブリッジネットワークが想定されています。 これにより、-p 8080:8080を使用します。 これは、ホストのネットワークのポート8080にコンテナのネットワークのポート8080で実行されている内部サービスを公開します。

コンテナはデフォルトでDockerのブリッジネットワークで実行されるため、他のコンテナや外界から隔離されますが、ここで指定したポートマッピングを通じて公開すると、他のコンテナや外界にアクセスできます。 渡される環境変数(HTTP_PORTS)はコンテナ内のアプリケーションの動作を設定します。 フラグ--rmによって、停止時にコンテナが削除されるようにします。

このセットアップの利点は、ブリッジネットワークがコンテナを隔離し、内部でサービスを接続する一方で、ポートマッピングがホストマシンからコンテナのサービスへの外部トラフィックをブリッジすることで、アクセスを容易にします。

Docker Compose ネットワーク(開発者向けの動作確認):図4

Docker Network PortでIronSecureDocを使用する

IronSecureDocのREST APIは、Dockerでインストールおよび起動した際に、文書編集、認証、暗号化をユーザーに提供します。 詳細な手順については、こちらのドキュメントを参照してください。

たとえば、文書を暗号化のために提出するには、IronSecureDoc APIにPOSTリクエストを行うことができます。

# POST a document for encryption using cURL
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ネットワーキングは、アプリケーション相互の関係と他のアプリケーションや世界との通信を制御するために重要であり、異なるドライバや設定を通じて多様なアプリケーションのニーズに応えます。 デフォルトのブリッジネットワーク構成は基本的な分離を可能にし、IronSecureDocアプリケーションのように、サービスをホストシステムにポートマッピングを通じて公開できます。 コンテナ化されたアプリケーションの管理と設定を容易にし、アプリケーションの運用の柔軟性とスケーラビリティを強化します。

IronSecureDocは、コンテナ化の観点からDockerの機能を利用し、高速で信頼性のあるアプリケーションデプロイを可能にする高度な文書処理ツールです。 これにより、複数の環境をサポートしながら、DockerネットワーキングとIronSecureDocをシームレスに統合し、アプリケーションの統合を容易にし、アクセス可能かつ管理しやすくなります。

結果として、ワークフローを効率的に整理し、運用を改善し、特に文書処理において操作性を向上させます。 これにより、開発およびデプロイメントの体験が豊かになり、現代のソフトウェアアプリケーションにとって価値あるソリューションとなります。 IronSecureDocのライセンスに関する詳細情報については、このページをご覧ください。 Iron Softwareの多くの商品提供に関する詳細については、このリンクを参照してください。

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。