Docker仮想ネットワークの使い方
Docker は現在最も人気のあるコンテナ化プラットフォームの 1 つであり、アプリケーションのデプロイと管理を大幅に簡素化できます。最も重要な機能の 1 つは Docker 仮想ネットワークです。これは、ユーザーが別の物理マシン上に複数のコンテナを作成し、適切なネットワーク分離とセキュリティを提供しながら共同作業するのに役立ちます。
この記事では、Docker 仮想ネットワークを使用してコンテナ間の通信とネットワークの相互運用性を構築する方法を紹介し、ネットワークの分離とセキュリティの重要性についても紹介します。
- 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」という仮想ネットワークを作成したので、それを使用してコンテナを作成し、通信できるようになります。
- コンテナを 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 つのコンテナーを作成し、作成した仮想ネットワークに接続しました。
- コンテナ間の通信のテスト
コンテナが正常に通信していることをテストするには、「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>
http://127.0.0.1:8080
... 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
- ネットワークの分離とセキュリティ
- 概要
以上がDocker仮想ネットワークの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









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

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

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

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

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

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

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

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