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 学習チュートリアル クラスター化インデックス

クラスタリングは、実際には InnoDB データベース エンジンに関連しています。したがって、インデ...

Nginx で https をアップグレードする方法

購入証明書Alibaba CloudのCloud Shield証明書サービスから購入できます。証明書...

HTML テーブルの空白セル補完を実装する方法

私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...

JavaScript の例におけるループの使用法の詳細な説明

退屈だったので、ループに関する簡単な演習をいくつかまとめてみました。JS を学び始めたばかりの方に役...

Vue3はフロントエンドのログを出力するためにaxiosインターセプターを使用する

目次1. はじめに2. axiosインターセプターを使用してフロントエンドログを出力する1. はじめ...

CSS3 引用のソースと出典をマークする方法

疫病のせいで家にこもりきりで、頭がおかしくなりそうなので、パソコンを起動して頭を働かせてみました。今...

Linux コマンドラインでメールを送信する 5 つの方法 (推奨)

シェル スクリプトで電子メールを作成する必要がある場合は、コマンド ラインから電子メールを送信する知...

vue.js 動的コンポーネントの詳細な説明

:動的コンポーネントv-bind:is="component name" を使用...

フォアマン Ubuntu16 クイックインストール

クイックスタートガイドForeman インストーラーは、完全に機能する Foreman セットアップ...

CSS3プロパティline-clampはテキスト行の使用を制御します

説明: ブロック要素に表示されるテキストの行数を制限します。 -webkit-line-clamp ...

Vue3とElectronを使ったデスクトップアプリケーションの詳しい説明

目次Vue CLIはVueプロジェクトを構築しますVue プロジェクトをマークダウン エディターに変...

手の動きをリアルタイムで監視するための Handtrack.js ライブラリ (推奨)

【はじめに】: Handtrack.jsは、ブラウザ上で直接リアルタイムの手の動きの追跡と検出を実...

MySQL のユーザー権限を照会する方法の概要

MySQLユーザー権限を表示する2つの方法を紹介します1. MySQL grantsコマンドを使用す...

MySQL 4G メモリ サーバー構成の最適化

会社のウェブサイトのアクセス数が増えてくると(1日10万PV以上)、当然MySQLがボトルネックにな...

MySQL 5.7 生成列の使用例の分析

この記事では、例を使用して、MySQL 5.7 で生成された列の使用方法を説明します。ご参考までに、...