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
# 进入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以守护进程运行
- 使用容器名作为hostname - link容器时指定alias: --link=<Container-Name>:<Alias> - 配合--icc=false隔离性,实现容器间的安全连接 - 环境变量注入
- 使用DNS实现自动化的名称解析 - 一个网络提供容器的安全隔离环境 - 动态地attach与detach到多个网络 - 支持与--link选项一起使用,为链接的容器提供别名(可以是尚不存在链接容器,与默认容器中–link使用的最大差别)
したがって、 --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
最初のコンテナが閉じている場合のみ、同じエイリアスを指定する 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
# 容器从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 サイトの他の関連記事を参照してください。

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

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

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

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

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

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

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