Docker の 4 つのネットワーク タイプの主な例

Docker の 4 つのネットワーク タイプの主な例

4 つのネットワーク タイプ:

  • なし: コンテナのネットワーク機能を一切設定しません。--net=none
  • コンテナ: 実行中の別のコンテナとネットワーク名前空間を共有する、--net=container:containerID (K8S)
  • ホスト: ホストとネットワーク名前空間を共有する、--net=host
  • ブリッジ: Docker によって設計された NAT ネットワーク モデル

以下は個別に説明します。

なし:

[root@docker1 centos_zabbix]# docker run -it --network none centos6.9_ssh:v2 /bin/bash
[root@6ae597015723 /]# IPアドレス
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状態 UNKNOWN qlen 1
  リンク/ループバック 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 スコープ ホスト lo
    valid_lft 永久 preferred_lft 永久

このようなものはIPを持たず、コンテナ内で操作できるため、あまり意味がありません。

コンテナ型ネットワーク:

[root@1c21de6080bb html]# [root@docker1 centos_zabbix]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
1c21de6080bb centos6.9_nginx_ssh:v3 "/bin/bash" 26秒前 25秒前 vigorous_payne
[root@docker1 centos_zabbix]# docker run -it --network コンテナ:1c21de6080bb centos6.9_nginx_ssh:v4 /bin/bash
 
ホスト名を共有するIPアドレスはプロパティを表示できます [root@docker1 centos_zabbix]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
41c457f6b89d centos6.9_nginx_ssh:v4 "/bin/bash" 5 分前 5 分前loving_curie
1c21de6080bb centos6.9_nginx_ssh:v3 "/bin/bash" 6 分前 6 分前 vigorous_payne
 
[root@docker1 centos_zabbix]# docker 検査 41c457f6b89d|grep -i ネットワーク
      "ネットワークモード": "コンテナ:1c21de6080bb8c83e800fa8b5fb15782a18bb61ab292050ca1172fbb866b1afc",
    「ネットワーク設定」: {
      「ネットワーク」: {}

最初にポートを使用したユーザーがそのポートを占有し、後から使用したユーザーはそのポートを使用できなくなることに注意してください。

ホストタイプ

[root@docker1 centos_zabbix]# docker run -it --network=host centos6.9_nginx_ssh:v2 /bin/bash

これは、ホストマシンとポートを共有するもので、最初に占有した人がそれを使用しますが、パフォーマンスは最高です。そのため、イメージを構築するときにこのパラメータを使用して、ネットワークタイプを統一し、イメージの構築効率を向上させます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerネットワーク構成プロセスの詳細な紹介
  • Docker ネットワークの原理とカスタム ネットワークの詳細な分析
  • Docker コンテナのカスタム ホストのネットワーク アクセス操作
  • Dockerカスタムネットワークの詳細な紹介

<<:  jQueryでフルスクリーンスクロール効果を実現

>>:  mysql8.0.19 でパスワードを忘れた場合の完璧な解決策

推薦する

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

Linux exa コマンド (ls よりも優れたファイル表示エクスペリエンス)

インストールREADMEに従ってインストールしてくださいドキュメントには、exa は Rust で実...

Nginxにモジュールを動的に追加する方法

前面に書かれた多くの場合、現在のプロジェクトの状況とビジネスニーズに基づいて Nginx をインスト...

CSS3のvar()を使用して実行時にscss変数の値を変更する詳細な説明

var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...

VMware仮想マシンの起動時に黒い画面が表示される問題を解決する

# VMware ハードディスクの起動優先順位を調整するステップ 1: 電源をオンにすると、BIOS...

Dockerコンテナの中国語言語パックの設定の問題を解決する

Dockerでdocker search centosを使用する場合docker pull dock...

Linuxで$を#に変更する方法

このシステムでは、# 記号は root ユーザーを表し、$ 記号は通常のユーザーを表します。では、ど...

MySQL 分離レベル操作プロセスの詳細説明 (cmd)

コミットされていない読み取りの例の操作プロセス - コミットされていない読み取り1. 2 つの My...

DockerでのinfluxDB分散時系列データベースのインストールと関連操作について簡単に説明します。

influxDB の紹介influxDB は分散型時系列データベースです。 cAdvisor はリ...

Linuxの基本コマンドmktempの詳しい説明

mptemp は安全な方法で一時ファイルまたはディレクトリを作成します。このコマンドの適用範囲: R...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

テキストの両側に水平線を描くための CSS のサンプルコード

この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...

JS関数のカリー化の詳細な説明

目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...

反応ルーティングでパラメータを渡すいくつかの方法についての簡単な説明

最初のパラメータ渡し方法は、動的ルーティングパラメータ渡しです。リンクのパス属性を設定することで、ル...