Dockerのデフォルトネットワークセグメントを変更する実装方法の分析

Dockerのデフォルトネットワークセグメントを変更する実装方法の分析

背景

同社のサーバーはすべて Alibaba Cloud ECS ホストを購入しています。デフォルトのイントラネット セグメントは 172.16.0.0/12 であり、テスト サーバー上のサービスは基本的に Docker を使用してデプロイされています。
以前の同僚がこのマシンにインストールした Docker はすべてデフォルト設定で、ネットワーク セグメントは 172.17.0.0/24 です。実際の使用では、172.17.0.1 経由でホスト マシンにアクセスする必要があり、他のホスト マシンの IP と競合するため、コンテナのデフォルト ネットワーク セグメントを変更する必要があります。

回避策

1. ホスト上のDockerサービスを停止する

sudo systemctl でdockerを停止します

2. コンテナ設定ファイル /etc/docker/daemon.json を変更する

sudo cat /etc/docker/daemon.json
{
  "レジストリミラー": ["https://gbs4gco0.mirror.aliyuncs.com"],
  "ビップ": "10.50.0.1/16",
}

上記のコードで説明されているように、構成ファイルのbipフィールドは、ホストマシンのdockerネットワークセグメントを設定し、それをプライベートネットワークアドレス(192.168.0.0/10.0.0.0/172.0.0.0)に構成することができます。

3. Dockerサービスを開始する

sudo systemctlデーモンリロード
sudo systemctl dockerを起動します

4. docker-0ブリッジアドレスを確認する

sudo 設定
...
docker0: flags=4163<UP、ブロードキャスト、実行中、マルチキャスト> mtu 1500
    inet 10.50.0.1 ネットマスク 255.255.0.0 ブロードキャスト 10.50.255.255
    inet6 fe80::42:46ff:fe18:add5 プレフィックス長 64 スコープID 0x20<リンク>
    ether 02:42:46:18:ad:d5 txqueuelen 0 (イーサネット)
    RXパケット 14697564 バイト 5943503139 (5​​.5 GiB)
    RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
    TX パケット 15379709 バイト 6846099156 (6.3 GiB)
    TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0
...

この時点で、Docker のデフォルトのネットワーク セグメントが変更されています。以前のコンテナの IP が変更されたかどうかを確認できます。

sudo docker コンテナを検査 alipne --format="{{.NetworkSettings.IPAdress}}"
10.50.0.2

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

以下もご興味があるかもしれません:
  • Dockerのデフォルトネットワークセグメントの正しい変更手順
  • Docker で Docker0 ブリッジのデフォルトのネットワーク セグメントを変更する方法
  • Dockerコンテナのホスト間マルチネットワークセグメント通信ソリューションの詳細説明
  • Dockerは同じIPネットワークセグメントとの接続を実現する
  • Docker は、ホストと同じネットワーク セグメントにある IP アドレスを指定します。
  • Docker はホスト ネットワーク セグメント IP をどのように割り当てますか?
  • Dockerコンテナはカスタムネットワークセグメントで固定IP/静的IPアドレスを指定します

<<:  vue3 キャッシュページキープアライブと統合ルーティング処理の詳細な説明

>>:  はじめに: HTML の基本的なタグと属性の簡単な紹介

推薦する

MySQL 8.0.15 インストール グラフィック チュートリアルとデータベースの基礎

MySQLソフトウェアのインストールとデータベースの基礎は参考用です。具体的な内容は次のとおりです。...

要素テーブルヘッダー行の高さの問題の解決

目次序文1. 問題の原因2. 解決策VueはelementUIテーブルtr thの高さと背景色を変更...

HTMLのテーブルタグの基本学習チュートリアル

表ラベルの構成HTML 内の表は <table> タグで構成されており、ブラウザはタグを...

Docker がポート 2375 を公開し、サーバー攻撃を引き起こす問題と解決策

docker リモート API を学習した学生であれば、ポート 2375 についてよくご存知だと思い...

要素テーブルからヘッダーを削除する方法

show-header属性を使用したドキュメントのヒントshow-header <el-テーブ...

mysql 10進データ型変換の実装

最近、次のデータ型のデータベースに遭遇しました:decimal(14,4)発生した問題は次のとおりで...

CentOS 7 での mysql 5.7 のインストール チュートリアル

1. 公式MySQL Yumリポジトリをダウンロードしてインストールする 実行ファイル: mysql...

カルーセルバナーの自動回転効果を実現する純粋な CSS

さっそくコードを見てみましょう * { マージン: 0; パディング: 0; } 。容器 { マージ...

シンプルなビデオ連射機能を実装する JavaScript CSS3

この記事では、最も単純なビデオ連射機能をシミュレートするデモを作成します。アイデア:再生する動画と同...

Windows サーバー ポートを開きます (例としてポート 8080 を使用します)

ポートとは何ですか?私たちが通常参照するポートは、物理的な意味でのポートではなく、具体的には TCP...

docker コマンド例外「権限が拒否されました」の解決方法

Linuxシステムでは、dockerを新しくインストールし、次のようなコマンドを入力します。dock...

JavaScriptで配列を作成する方法の詳細な説明

目次JavaScript で配列を作成する配列の使用配列を分割文字列に変換する配列に要素を追加する配...

Xampp サーバーで MySQL パスワードを変更する方法 (画像付き)

今日、PHP で作業しているときに、Xampp サーバーに付属の mysql データベースを使用する...

js のプロトタイプ、プロトタイプ オブジェクト、プロトタイプ チェーンの包括的な分析

目次プロトタイプを理解するプロトタイプオブジェクトを理解するインスタンスプロパティとプロトタイププロ...

CSS中級者向けアダプティブレイアウトの5つのソリューションの詳細な説明

序文ページを作っていく上で、ページレイアウトに関する内容に遭遇することが多く、面接でも聞かれることも...