ホームページ 運用・保守 Docker docker networkコマンドの詳しい説明

docker networkコマンドの詳しい説明

Aug 21, 2020 pm 05:31 PM
docker network

docker networkコマンドの詳しい説明

まず、network のすべてのサブコマンドを見てみましょう:

(推奨チュートリアル: docker チュートリアル)

docker network create
docker network connect
docker network ls
docker network rm
docker network disconnect
docker network inspect
ログイン後にコピー

一、ネットワークを作成する

Docker Engine をインストールすると、デフォルトのブリッジ ネットワーク docker0 が自動的に作成されます。さらに、独自のブリッジ ネットワークやオーバーレイ ネットワークを作成することもできます。

ブリッジ ネットワークは Docker エンジンを実行する単一のホストに接続されますが、オーバーレイ ネットワークはそれぞれの Docker エンジンを実行する複数のホスト環境をカバーできます。

ブリッジ ネットワークの作成は次のように比較的簡単です:

 # 不指定网络驱动时默认创建的bridge网络
 docker network create simple-network
 # 查看网络内部信息
 docker network inspect simple-network
 # 应用到容器时,可进入容器内部使用ifconfig查看容器的网络详情
ログイン後にコピー

ただし、オーバーレイ ネットワークの作成にはいくつかの前提条件が必要です (特定の操作については、Docker コンテナ ネットワークの関連コンテンツを参照してください):

- key-value store(Engine支持Consul、Etcd和ZooKeeper等分布式存储的key-value store) 
- 集群中所有主机已经连接到key-value store 
- swarm集群中每个主机都配置了下面的daemon参数 
- –cluster-store 
- –cluster-store-opt 
- –cluster-advertise
ログイン後にコピー

次にオーバーレイ ネットワークを作成します:

# 创建网络时,使用参数`-d`指定驱动类型为overlay
docker network create -d overlay my-multihost-network
ログイン後にコピー

--subnet オプションを使用してサブネットを作成する場合、ブリッジ ネットワークでは 1 つのサブネットのみを指定できますが、オーバーレイ ネットワークでは複数のサブネットがサポートされます。サブネット。

ブリッジおよびオーバーレイ ネットワーク ドライバーの下に作成されたネットワークでは、さまざまなパラメーターを指定できます。

2. コンテナを接続します

3 つのコンテナを作成します。最初の 2 つはデフォルト ネットワークを使用してコンテナを起動し、3 つ目はカスタム ブリッジ ネットワークを使用してコンテナを起動します。次に、2 番目のコンテナをカスタム ネットワークに追加します。これら 3 つのコンテナのネットワーク条件は次のとおりです。

最初のコンテナ: デフォルトの docker0 のみ

2 つ目のコンテナ: docker0、カスタム ネットワークの 2 つのネットワークに属します

# 3 番目のコンテナ: カスタム ネットワークのみに属します

注: コンテナを介して指定されたネットワークを開始すると、デフォルトのブリッジ ネットワーク docker0 が上書きされます。

# 创建三个容器 conTainer1,container2,container3
docker run -itd --name=container1 busybox
docker run -itd --name=container2 busybox
# 创建网络mynet
docker network create -d bridge --subnet 172.25.0.0/16 mynet
# 将容器containerr2连接到新建网络mynet
docker network connect mynet container2
# 使用mynet网络来容器container3
docker run --net=mynet --ip=172.25.3.3 -itd --name=container3 busybox
 
# 查看这三个容器的网络情况
docker network inspect container1 # docker0
docker network inspect container2 # docker0, mynet
docker network inspect container3 # mynet
ログイン後にコピー

3. デフォルト ネットワークとカスタム ブリッジ ネットワークの違い

デフォルト ネットワーク docker0: ネットワーク内のすべてのホストは、IP を使用してのみ相互にアクセスできます。 --link オプションを使用して作成されたコンテナは、リンクされたコンテナ名 (container-name) にホスト名として直接アクセスできます。

カスタマイズされたネットワーク (ブリッジ): IP アクセスに加えて、ネットワーク内のすべてのホストは、コンテナー名 (container-name) をホスト名として使用して相互に直接アクセスすることもできます。

# 进入container2内部
docker attach container2
ping -w 4 container3 # 可访问
ping -w 4 container1 # 不可访问
ping -w 4 172.17.0.2 # 可访问container1的IP
# Ctrl+P+Q退出容器,让container2以守护进程运行
ログイン後にコピー

4. コンテナ接続におけるデフォルトネットワークとカスタムブリッジネットワークの違い

デフォルトネットワークでリンク(レジェンドリンク)を使用すると以下の機能があります:

- 使用容器名作为hostname 
- link容器时指定alias: --link=<Container-Name>:<Alias> 
- 配合--icc=false隔离性,实现容器间的安全连接 
- 环境变量注入
ログイン後にコピー

Auto 定義されたネットワークで docker net を使用すると、次の機能が提供されます。


- 使用DNS实现自动化的名称解析 
- 一个网络提供容器的安全隔离环境 
- 动态地attach与detach到多个网络 
- 支持与--link选项一起使用,为链接的容器提供别名(可以是尚不存在链接容器,与默认容器中–link使用的最大差别)
ログイン後にコピー

デフォルト ネットワークのリンクは静的であるため、リンク コンテナーを再起動できませんが、カスタム ネットワークのリンクは動的であり、リンク コンテナの再起動をサポートします (および IP が変更されます)

したがって、 --link を使用するときにリンクされるコンテナは、デフォルト ネットワークで事前に作成する必要がありますが、カスタム ネットワークで事前に構築する必要はありません。通信網。

docker network connectct を使用してコンテナを新しいネットワークに接続する場合、パラメータ --link を使用して同じコンテナをリンクする場合、異なるネットワーク用の異なるエイリアスを指定できます。

# 运行容器使用自定义网络,同时使用--link链接尚不存在的container5容器
docker run --net=mynet -itd --name=container4 --link container5:c5 busybox
# 创建容器container5
docker run --net=mynet -itd --name=container5 --link container4:c4 busybox
# 虽然是相同容器,但是在不同的网络环境连接中可以不同的alias链接
docker network connect --link container5:foo local_alias container4
docker network connect --link container4:bar local_alias container5
ログイン後にコピー

5. コンテナーのネットワーク スコープのエイリアスを指定します (ネットワーク スコープのエイリアス)

ネットワーク スコープのエイリアスは、指定されたコンテナーのエイリアスであり、ネットワーク スコープ内の他のコンテナーからアクセスできます。同じネットワーク範囲。

リンク エイリアスとは異なり、リンク エイリアスはリンク コンテナのユーザーによって提供され、それ自体でのみ使用できます。一方、指定されたネットワーク範囲内のエイリアスは、ネットワーク内の他のコンテナが使用できるようにコンテナによって提供されます。 。

ネットワーク スコープのエイリアス: 同じネットワーク内の複数のコンテナが同じエイリアスを指定できます。もちろん、指定されたエイリアスを持つ最初のコンテナのみが有効になります。

最初のコンテナが閉じている場合のみ、同じエイリアスを指定する 2 番目のコンテナーのエイリアスが有効になります。

docker run --net=mynet -itd --name=container6 --net-alias app busybox
docker network connect --alias scoped-app local_alias container6
docker run --net=isolated_nw -itd --name=container7 --net-alias app busybox
docker network connect --alias scoped-app local_alias container7
# 在container4中
docker attach container4
ping app # 访问container6的IP
# 从container4中以守护进程运行退出:Ctrl+P+Q
docker stop container6
docker attach container4
ping app # 访问的container7的IP
ログイン後にコピー

6. ネットワークを切断して削除します

# 容器从mynet网络中断开(它将无法再网络中的容器container3通讯)
docker network disconnect mynet container2
# 测试与容器container3失败
docker attach container2
ping contianer3 # 访问失败
ログイン後にコピー

マルチホスト ネットワーク環境では、削除されたコンテナ名でコンテナをネットワークに接続すると、すでにコンテナが表示されます。ネットワークに接続エラー,

現時点では、新しいコンテナ docker rm -f を強制的に削除し、再実行してネットワークに接続する必要があります。

ネットワークを削除するには、削除コマンドを使用する前に、ネットワーク内のすべてのコンテナを閉じるか、このネットワークから切断する必要があります:

# 断开最后一个连接到mynet网络的容器
docker network disconnet mynet container3
# 移除网络
docker network rm mynet
ログイン後にコピー

以上がdocker networkコマンドの詳しい説明の詳細内容です。詳細については、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デスクトップの使用方法 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を使用)。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Docker画像を保存する方法 Docker画像を保存する方法 Apr 15, 2025 am 11:54 AM

Dockerに画像を保存するには、Docker Commitコマンドを使用して、指定されたコンテナの現在の状態、Syntax:Docker Commit [Options]コンテナID画像名を含む新しい画像を作成できます。画像をリポジトリに保存するには、Docker Pushコマンド、Syntax:Docker Push Image Name [:Tag]を使用できます。保存された画像をインポートするには、Docker Pullコマンド、Syntax:Docker Pull Image Name [:Tag]を使用できます。

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerによるプライベートリポジトリを構築する方法 Dockerによるプライベートリポジトリを構築する方法 Apr 15, 2025 am 11:06 AM

Dockerプライベートリポジトリを構築して、コンテナ画像を安全に保存および管理し、厳格な制御とセキュリティを提供できます。手順には、リポジトリの作成、アクセスの付与、リポジトリの展開、画像のプッシュ、および画像の引くなどがあります。利点には、セキュリティ、バージョン制御、ネットワークトラフィックの削減、カスタマイズが含まれます。

See all articles