ホームページ 運用・保守 Docker Docker仮想ネットワークの使い方

Docker仮想ネットワークの使い方

Apr 19, 2023 am 09:15 AM

Docker は現在最も人気のあるコンテナ化プラットフォームの 1 つであり、アプリケーションのデプロイと管理を大幅に簡素化できます。最も重要な機能の 1 つは Docker 仮想ネットワークです。これは、ユーザーが別の物理マシン上に複数のコンテナを作成し、適切なネットワーク分離とセキュリティを提供しながら共同作業するのに役立ちます。

この記事では、Docker 仮想ネットワークを使用してコンテナ間の通信とネットワークの相互運用性を構築する方法を紹介し、ネットワークの分離とセキュリティの重要性についても紹介します。

  1. Docker 仮想ネットワークの作成と管理

まず、Docker 仮想ネットワークを作成する必要があります。次のコマンドを使用して、「my-network」という名前の仮想ネットワークを作成できます:

docker network create my-network
ログイン後にコピー

ネットワークを作成した後、次のコマンドを使用して現在の Docker 仮想ネットワークを一覧表示できます:

docker network ls
ログイン後にコピー

実行結果は次のとおりです:

NETWORK ID          NAME                DRIVER              SCOPE
6e8c0391c9ac        bridge              bridge              local
a8a551c45849        host                host                local
d6a050011a56        my-network          bridge              local
69f86bb8f6bc        none                null                local
ログイン後にコピー

「my-network」という仮想ネットワークを作成したので、それを使用してコンテナを作成し、通信できるようになります。

  1. コンテナを Docker 仮想ネットワークに接続する

次に、2 つのコンテナを作成し、先ほど作成した「my-network」仮想ネットワークに接続します。 --network パラメーターを使用して、コンテナーを仮想ネットワークに接続します。

次のコマンドを使用して、「webserver」という名前のコンテナーを起動し、仮想ネットワークに接続します。

docker run --name webserver --network my-network -p 8080:80 -d nginx
ログイン後にコピー

上記のコマンドでは、「nginx」イメージを使用してコンテナーを作成しました。 -p パラメーターは、Docker コンテナーのポート「80」を物理マシンのポート「8080」にマップします。

同様の方法を使用して 2 番目のコンテナーを作成し、仮想ネットワークに接続することもできます。

docker run --name database --network my-network -e MYSQL_ROOT_PASSWORD=password -d mysql
ログイン後にコピー

上記のコマンドでは、「mysql」イメージを使用してコンテナーを作成します。 MySQL の root パスワードを設定します。

これで、2 つのコンテナーを作成し、作成した仮想ネットワークに接続しました。

  1. コンテナ間の通信のテスト

コンテナが正常に通信していることをテストするには、「Web サーバー」で単純な HTML ページを使用します。

まず、「webserver」コンテナに入り、次のコマンドを使用してテキスト エディタ nano をインストールします:

docker exec -it webserver apt-get update
docker exec -it webserver apt-get install nano
ログイン後にコピー

次に、nano テキスト エディタを使用して単純なindex.html ページを作成します。 # #

docker exec -it webserver nano /usr/share/nginx/html/index.html
ログイン後にコピー
ページに次のコンテンツを追加します:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to my website</title>
</head>
<body>
<p>Hello from webserver!</p>
<?php
$servername = "database";
$username = "root";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
echo "Connected successfully to database";
?>
</body>
</html>
ログイン後にコピー
上記のコードでは、ページにテキスト メッセージを追加し、「」で MySQL データベースに接続するための PHP スクリプトを追加します。データベース」コンテナ。

これで、物理マシンの Web ブラウザで次の URL を使用してページを開くことができます:

http://127.0.0.1:8080
ログイン後にコピー
ページには、「Web サーバーからこんにちは!」と接続成功のメッセージが表示されます。

一方、「database」コンテナーで「docker logs database」コマンドを実行すると、次の出力が表示されます:

...
Version: '5.7.22'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
2019-05-22T20:02:24.809716Z 0 [Note] Event Scheduler: Loaded 0 events
Connected successfully to database
ログイン後にコピー
これは、2 つのコンテナー間の通信が正常であることを示します。で、テスト ページは「データベース」コンテナ上の MySQL データベースに正常に接続できます。

    ネットワークの分離とセキュリティ
Docker 仮想ネットワークのもう 1 つの重要な役割は、異なるコンテナー間にネットワークの分離とセキュリティを提供することです。たとえば、「ウェブサーバー」コンテナで悪意のあるコードを実行した場合、他のコンテナにアクセスして影響を与えることはできません。

さらに、Docker 仮想ネットワークを使用して、コンテナーが外部ネットワークにアクセスすることを制限することもできます。たとえば、仮想ネットワークを作成し、コンテナがそのネットワーク内の他のコンテナとのみ通信し、インターネット上の他のコンテナにアクセスできないようにすることで、アプリケーションのセキュリティを強化できます。

    概要
この記事では、Docker 仮想ネットワークを使用してさまざまなコンテナーを接続し、コンテナー間の通信を可能にする方法を紹介しました。また、Docker 仮想ネットワークがネットワークの分離とセキュリティをどのように提供するかについても学びました。

仮想ネットワークは Docker の非常に重要な機能であり、強力なコンテナ化されたアプリケーションを構築し、優れたセキュリティを提供するために使用できます。 Docker を使用してアプリケーションを構築している場合は、アプリケーションのセキュリティと効率を向上させるために仮想ネットワークの使用を必ず検討してください。

以上がDocker仮想ネットワークの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエース Dockerインタビューの質問:DevOpsエンジニアリングインタビューをエース Apr 06, 2025 am 12:01 AM

Dockerは、DevOpsエンジニアにとって必須のスキルです。 1.Dockerは、アプリケーションとその依存関係をコンテナにパッケージ化することにより、分離と移植性を実現するオープンソースのコンテナ化されたプラットフォームです。 2. Dockerは、名前空間、コントロールグループ、フェデレーションファイルシステムで動作します。 3。基本的な使用には、コンテナの作成、実行、管理が含まれます。 4.高度な使用法には、DockerComposeを使用してマルチコンテナーアプリケーションを管理することが含まれます。 5.一般的なエラーには、コンテナ障害、ポートマッピングの問題、データの持続性の問題が含まれます。デバッグスキルには、ログの表示、コンテナの入り、および詳細情報の表示が含まれます。 6.パフォーマンスの最適化とベストプラクティスには、画像の最適化、リソースの制約、ネットワーク最適化、DockerFileを使用するためのベストプラクティスが含まれます。

Dockerボリューム:コンテナ内の永続的なデータの管理 Dockerボリューム:コンテナ内の永続的なデータの管理 Apr 04, 2025 am 12:19 AM

Dockervolumeは、コンテナを再起動、削除、または移行すると、データが安全であることが保証されます。 1。ボリュームの作成:Dockervolumecreatemydata。 2。コンテナとマウントボリュームを実行します:Dockerrun-It-Vmydata:/app/dataubuntubash。 3.高度な使用には、データ共有とバックアップが含まれます。

Dockerセキュリティ硬化:容量から容器を保護します Dockerセキュリティ硬化:容量から容器を保護します Apr 05, 2025 am 12:08 AM

Dockerセキュリティの強化方法は次のとおりです。1。-cap-dropパラメーターを使用してLinux機能を制限します。2。読み取り専用コンテナを作成します。これらの戦略は、脆弱性の露出を減らし、攻撃者の機能を制限することにより、コンテナを保護します。

LinuxでDockerを使用:包括的なガイド LinuxでDockerを使用:包括的なガイド Apr 12, 2025 am 12:07 AM

LinuxでDockerを使用すると、開発と展開の効率が向上する可能性があります。 1。Dockerのインストール:スクリプトを使用して、ubuntuにDockerをインストールします。 2.インストールの確認:sudodockerrunhello-worldを実行します。 3。基本的な使用法:NginxコンテナDockerrun-Namemy-Nginx-P8080を作成します:80-Dnginx。 4。高度な使用法:カスタム画像を作成し、DockerFileを使用してビルドして実行します。 5。最適化とベストプラクティス:マルチステージビルドとドッケルコンポスを使用して、DockerFilesを作成するためのベストプラクティスに従ってください。

高度なDockerネットワーキング:マスタリングブリッジ、ホスト&オーバーレイネットワーク 高度なDockerネットワーキング:マスタリングブリッジ、ホスト&オーバーレイネットワーク Apr 03, 2025 am 12:06 AM

Dockerは、ブリッジネットワーク、ホストネットワーク、オーバーレイネットワークの3つのメインネットワークモードを提供します。 1.ブリッジネットワークは、単一のホストでのコンテナー間通信に適しており、仮想ブリッジを介して実装されています。 2。ホストネットワークは、高性能ネットワークが必要なシナリオに適しており、コンテナはホストのネットワークスタックを直接使用します。 3.オーバーレイネットワークは、マルチホストDockerswarmクラスターに適しており、仮想ネットワークレイヤーを介してクロスホスト通信が実現されます。

Docker Swarm:スケーラブルで回復力のあるコンテナクラスターの構築 Docker Swarm:スケーラブルで回復力のあるコンテナクラスターの構築 Apr 09, 2025 am 12:11 AM

DockerSwarmは、スケーラブルで非常に利用可能なコンテナクラスターを構築するために使用できます。 1)dockerswarminitを使用して群れクラスターを初期化します。 2)swarmクラスターに参加して、dockerswarmjoinを使用します。 3)DockerServiceCreate-Namemy-Nginxを使用してサービスを作成します - Replicas3nginx。 4)dockerstackdeploy-cdocker-compose.ymlmyAppを使用して複雑なサービスを展開します。

Docker監視:メトリックの収集とコンテナの健康の追跡 Docker監視:メトリックの収集とコンテナの健康の追跡 Apr 10, 2025 am 09:39 AM

Docker監視の中核は、主にCPUの使用、メモリ使用、ネットワークトラフィック、ディスクI/Oなどのインジケーターを含む、コンテナの動作データを収集および分析することです。 Prometheus、Grafana、Cadvisorなどのツールを使用することにより、コンテナの包括的な監視とパフォーマンスの最適化を実現できます。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

See all articles