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 でパスワードを忘れた場合の完璧な解決策

推薦する

Ubuntu 20.04にROS Noeticをインストールする方法

免責事項:プロジェクトでは ROS 環境を使用する必要があるため、これは Ubuntu 20.04 ...

Docker はキューとタスクのスケジューリングを実現するために Laravel アプリケーションをデプロイします

前回の記事では、Docker を使用して Laravel アプリケーションをデプロイする方法について...

Web デザインの経験: 独善的な Web デザイナー

1. ゴミかクラシックか? Web テクノロジーは急速に更新されており、Web サイトのインターフェ...

エレメントアバターアップロード練習

この記事は、Element公式サイトとQiniu Cloud公式サイトを使用しています。 eleme...

Vue px to rem 構成の詳細な説明

目次方法1 1. 構成とインストールの手順:方法2方法3要約する方法1 1. 構成とインストールの手...

RHEL8 /CentOS8 でマルチノード Elastic Stack クラスターを構築する方法

一般的に ELK スタックとして知られる Elastic スタックは、Elasticsearch、L...

Linux でのスケジュールされたタスクと遅延タスクの詳細な説明

で+ 時間 17:23に at> touch /mnt/file{1..9} ##アクションを...

Vueルーティングナビゲーションガードの簡単な理解

目次1. グローバルガード1. グローバル前線警備2. グローバル解像度ガード3. グローバルポスト...

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

Vue から React への変換入門ガイド

目次デザインコンポーネント通信ライフサイクルイベント処理品格とスタイルクラススタイル条件付きレンダリ...

docker --privileged=true パラメータの役割についての簡単な説明

バージョン 0.6 あたりで、Docker に privileged が導入されました。このパラメー...

MySQLデータベースの管理者パスワードを忘れた場合の解決策

1. コマンド mysqld --skip-grant-tables を入力します (前提条件: m...

丸い角や鋭い角を表現するために、絵の代わりに文字を使用する研究

Google Gmail ページから撮った次のスクリーンショットをご覧ください (同じ場所からスクリ...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

MySQL の最適化: サブクエリの代わりに結合を使用する

サブクエリの代わりにJOINを使用するMySQL はバージョン 4.1 以降で SQL サブクエリを...