Docker で Docker0 ブリッジのデフォルトのネットワーク セグメントを変更する方法

Docker で Docker0 ブリッジのデフォルトのネットワーク セグメントを変更する方法

1. 背景

Docker サービスが開始されると、デフォルトで docker0 ブリッジが作成され (docker0 内部インターフェースを持つ)、カーネル層で他の物理または仮想ネットワーク カードが接続され、すべてのコンテナーとローカル ホストが同じ物理ネットワーク上に配置されます。

デフォルトでは、Docker は docker0 インターフェースの IP アドレスとサブネット マスクを指定し、ホストとコンテナーがブリッジを介して相互に通信できるようにします。また、MTU (インターフェースで受信可能な最大転送単位) も指定します。これは通常 1500 バイト、またはホスト ネットワーク ルーティングでサポートされているデフォルト値です。これらの値は、サービスの開始時に設定できます。

2. 環境

[root@iZ2ze278r1bks3c1m6jdznZ ~]# cat /etc/redhat-release
CentOS Linux リリース 7.5.1804 (コア)
[root@iZ2ze278r1bks3c1m6jdznZ ~]# uname -r
3.10.0-514.26.2.el7.x86_64
[root@iZ2ze278r1bks3c1m6jdznZ ~]# docker バージョン
クライアント:
 バージョン: 1.13.1
 APIバージョン: 1.26
 パッケージバージョン: docker-1.13.1-75.git8633870.el7.centos.x86_64
 Goバージョン: go1.9.4
 Gitコミット: 8633870/1.13.1
 作成日: 2018年9月28日金曜日 19:45:08
 OS/アーキテクチャ: linux/amd64

サーバ:
 バージョン: 1.13.1
 API バージョン: 1.26 (最小バージョン 1.12)
 パッケージバージョン: docker-1.13.1-75.git8633870.el7.centos.x86_64
 Goバージョン: go1.9.4
 Gitコミット: 8633870/1.13.1
 作成日: 2018年9月28日金曜日 19:45:08
 OS/アーキテクチャ: linux/amd64
 実験的: 偽

3. デフォルトのdocker0ブリッジを変更する

[root@iZ2ze278r1bks3c1m6jdznZ ~]# ifconfig docker0
docker0: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500
    inet 172.17.0.1 ネットマスク 255.255.255.0 ブロードキャスト 0.0.0.0
    ether 02:42:20:c4:fa:7a txqueuelen 0 (イーサネット)
    RXパケット 63 バイト 4592 (4.4 KiB)
    RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
    TXパケット 44 バイト 4206 (4.1 KiB)
    TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0

docker0のデフォルトのネットワークセグメントは172.xx.xx.xxであることがわかります。

/etc/docker/daemon.json ファイルを変更し、コンテンツ "bip": "ip/netmask" を追加します [ホストと同じネットワーク セグメントを使用しないでください]

[root@iZ2ze278r1bks3c1m6jdznZ ~]# cat /etc/docker/daemon.json
{
 "bip":"192.168.100.1/24"
}

4. サーバーを再起動する

[root@iZ2ze278r1bks3c1m6jdznZ ~]# systemctl dockerを再起動します

5. docker0のネットワークセグメントを確認する

[root@iZ2ze278r1bks3c1m6jdznZ ~]# ifconfig docker0
docker0: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500
    inet 192.168.100.1 ネットマスク 255.255.255.0 ブロードキャスト 0.0.0.0
    ether 02:42:20:c4:fa:7a txqueuelen 0 (イーサネット)
    RXパケット 63 バイト 4592 (4.4 KiB)
    RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
    TXパケット 44 バイト 4206 (4.1 KiB)
    TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0

さて、これでdocker0ブリッジの変更は完了です。次回はコンテナ間、コンテナ間、コンテナとホスト間のアクセス方法を説明します。

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

以下もご興味があるかもしれません:
  • Centos Docker ブリッジ モードでホスト Redis サービスにアクセスできないというトラブルシューティングの経験
  • docker によって起動されるデフォルトのブリッジ docker0 をカスタムブリッジに変更する詳細な説明
  • Docker にカスタムブリッジを追加する方法
  • デフォルトのDockerブリッジアドレスを変更する方法の詳細な説明
  • DockerでOpenvSwitchブリッジを使用する方法
  • Dockerはカスタムブリッジを使用する
  • Dockerカスタムブリッジdocker0とdockerのコマンド操作の開始、終了、再起動

<<:  Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

>>:  MySQL 5.7.18 無料インストール版ウィンドウ設定方法

推薦する

JavaScriptのモジュール性を理解する方法

目次1. ブラウザのサポート2.エクスポートモジュールのエクスポート3. モジュールをインポートする...

CSS スタイルのリセットとクリア (異なるブラウザで同じ効果を表示するため)

異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...

MySQLデータベースインデックスの詳細な説明

目次1. MySQLインデックスの紹介2. MySQLの5種類のインデックスの詳しい説明1. 総合索...

Vueドロップダウンリストの2つの実装方法の比較

Vueドロップダウンリストの2つの実装最初の方法はv-forを使用する <el-select ...

LinuxにMySQLデータベース5.6のソースコードをインストールし、ログインユーザーのパスワードを変更する

この記事では、主に Linux で MYSQL データベースをインストールする方法について説明し、M...

MySQL の union と union all の簡単な分析

データベースでは、UNION キーワードと UNION ALL キーワードの両方が 2 つの結果セッ...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

MySQL 並列レプリケーションの簡単な分析

01 並列レプリケーションの概念MySQL のマスター スレーブ レプリケーション アーキテクチャで...

MySQL での varchar 型の日付の比較、並べ替え、その他の操作の実装

MySQL を使用する場合、日付は通常、datetime や timestamp などの形式で保存さ...

Word のコンテンツを Web サイトのエディターに直接コピーすることはお勧めしません。

<br />質問: Word のコンテンツを Web サイトのエディターに直接コピーする...

Linux のファイル システム タイプの表示方法の例

Linux でパーティションのファイル システム タイプを確認する方法。パーティションのファイル シ...

MySQLの3値ロジックとNULLの詳細な説明

目次NULLとは何か2種類のNULLなぜ「= NULL」ではなく「IS NULL」と書く必要があるの...

CSS を使用して fullpage.js のフルスクリーン スクロール効果を実装するサンプル コード

最近 CSS を勉強していたとき、 2 つの CSS プロパティだけを使用して全画面スクロール効果を...

MySQL 実行ステータスの表示と分析

MySQL のパフォーマンスに問題があると思われる場合は、通常、まずshow processlist...