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 無料インストール版ウィンドウ設定方法

推薦する

MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)

Windows 10 プラットフォームでの MySQL のインストール、構成、起動、ログイン、環境...

MySQL ストアド プロシージャの概念、原則、一般的な使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの概念、原則、および一般的な使用法につ...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

docker-compose を使用して Apollo カスタム環境をデプロイする詳細なチュートリアル

目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...

Dockerを使用してJenkinsをインストールする方法

目次1. イメージをプルする2. ローカルデータボリュームを作成する3. コンテナを作成する4. J...

MySQL 8.0.12 解凍版インストールチュートリアル個人テスト!

Mysql8.0.12 解凍版のインストール方法をテストしましたので、ご参考までに1. ダウンロー...

Ubuntu20のtzselect設定時間失敗問題、Raspberry Piサーバ(推奨)

2 日前、Raspberry Pi サーバーを Ubuntu 20 にアップグレードしました。今日...

myBatis で条件を削除する際のスプライシング問題を解決する

私は今日、mybatis を学び、データベースに対していくつかの簡単な追加、削除、変更、クエリを実行...

Vue における $router と $route の違いの詳細な説明

通常、vue プロジェクトではルーティングを使用します。vue-router は vue.js の公...

Mysqlは実行中のトランザクションを照会し、ロックを待機する方法

navicatを使用してテストと学習を行います。まず、 set autocommit = 0;を使用...

Vueメソッドに基づくシンプルなタイマーの実装

Vueのシンプルなタイマーを参考にしてください。具体的な内容は以下のとおりです原理: setInte...

Nexus を使用して Docker リポジトリを作成する方法

公式の Docker レジストリを使用して作成されたウェアハウスでは、イメージを削除してもデフォルト...

Vueのハッシュジャンプ原理の詳細な説明

目次ハッシュと履歴の違いハッシュ履歴getCurrentLocation の実装setupListe...

Linux で複数のファイルの名前を一度に変更する方法

序文日常業務では、すべての jpg ファイルを bnp に変更したり、名前の 1 を one に変更...

Dockerでボリュームを管理する2つの方法

前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は...