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

推薦する

擬似静的およびクライアント適応型 Nginx の設定方法

バックエンドは thinkphp3.2.3 フレームワークを使用します。他の言語を使用している場合は...

Vue で $attrs と $listeners を使用するチュートリアル

目次導入例要約する導入$属性すべての親コンポーネントのプロパティを継承します (props を通じて...

mysql データベースの作成、ユーザーの追加、ユーザー認証の実用的な方法

1. MySQLデータベースを作成する1. データベース構文を作成する --「testdb」という名...

Linux の検索ツールの代替となるフレンドリーなツール

find コマンドは、指定されたディレクトリ内のファイルを検索するために使用されます。引数の前の文字...

React+tsは二次リンク効果を実現します

この記事では、二次リンク効果を実現するためのReact+tsの具体的なコードを参考までに共有します。...

docker ベースで Prometheus+Grafana を構築する手順の詳細説明

1. プロメテウスの紹介Prometheus は、もともと SoundCloud によって開発された...

ウェブ理論: 考えさせない読書ノート

第 1 章<br /> Web ページをユーザーにとって使いやすいものにするための最も重...

フロントエンド開発に必須:推奨されるブラウザ互換性テストツール 12 選

フロントエンド開発者にとって、さまざまな主要ブラウザのさまざまなバージョンでコードが適切に動作するこ...

Linux 論理ボリューム管理 (LVM) の使用法の概要

ディスク領域の管理は、システム管理者にとって重要な日常的なタスクです。ディスク領域が使い果たされると...

プライベートウェアハウス(レジストリとハーバー)を構築するためのDockerの実装

使用される Docker イメージが増えるにつれて、イメージを保存する場所、つまりウェアハウスが必要...

JavaScript 以外の静的リソースのバンドルの詳細

目次1. パッケージングツールでのカスタムインポート2. ブラウザとバンドラの共通インポート構文3....

CentOS7.3 での MySQL 8.0.13 のインストールと設定のチュートリアル

1. 基本環境1. オペレーティングシステム: CentOS 7.3 2. MySQL: 8.0.1...

vsftp を使用して Linux で FTP サーバーを構築する (パラメータの説明付き)

導入この章では、主に Linux で FTP サーバーを構築するプロセスを紹介します。習得すべき重要...

QQtabBar による CSS 命名仕様 BEM の詳細な紹介

QQtabBar の BEMまず、BEMとはどういう意味でしょうか? BEM は、ブロック、要素、修...

MySQLパスワードを忘れた場合のいくつかの解決策

解決策1完全にアンインストールしてすべてのデータを削除します。まず、MySQLに関連するすべてのプロ...