Dockerコンテナ起動時に固定IPを設定する実装

Dockerコンテナ起動時に固定IPを設定する実装

Dockerインストール後のネットワークタイプ

[root@insure updev]# docker ネットワーク ls
ネットワーク ID 名前 ドライバー スコープ
14da40175b01 ブリッジ ブリッジ ローカル
65fb78c28e4f ホスト ホスト ローカル
e0d0c90c1462 なし null ローカル

注: デフォルトでは、ブリッジ ネットワークで起動されたすべての Docker コンテナーは、Docker のインストール時に作成されたブリッジ ネットワークであるブリッジを使用します。Docker コンテナーは再起動されるたびに、対応する IP アドレスを順番に取得します。これにより、再起動後に Docker IP アドレスが変更されます。ネットワークが指定されていない場合は、--network=none を使用すると、Docker コンテナーに LAN IP は割り当てられません。

ホストネットワークは --network=host を使用します。このとき、Docker コンテナのネットワークがホストに接続され、両者が通信できるようになります。 たとえば、コンテナ内で Web サービスを実行し、ポート 8080 をリッスンすると、ホスト上のポート 8080 がコンテナに自動的にマップされます。

カスタムネットワークの作成

まず自動的に割り当てられたIPアドレスを確認します

[root@insure updev]# docker examine -f='{{.Name}} {{.NetworkSettings.IPAddress}} {{.HostConfig.PortBindings}}' $(docker ps -aq)
/awesome_lamarr 172.17.0.4 マップ[8091/tcp:[{ 8091}]]
/priceless_leavitt 172.17.0.2 マップ[]
/clever_davinci 172.17.0.3 マップ[8080/tcp:[{ 8888}]]

一度に作成できるネットワーク アドレスは 16 個だけです。

[root@insure updev]# docker network create --subnet=172.18.0.0/16 mynetwork
cf556844631a91a2a530fc​​07146cf03de650214ee50469675e232cd2b9e243b5
[root@insure updev]# ifconfig
br-cf556844631a: フラグ=4099<UP、ブロードキャスト、マルチキャスト> mtu 1500
inet 172.18.0.1 ネットマスク 255.255.0.0 ブロードキャスト 172.18.255.255
ether 02:42:90:0c:71:1e txqueuelen 0 (イーサネット)
RXパケット 29759 バイト 1736558 (1.6 MiB)
RXエラー 0 ドロップ 0 オーバーラン 0 フレーム 0
TXパケット 29759 バイト 1736558 (1.6 MiB)
TXエラー 0 ドロップ 0 オーバーラン 0 キャリア 0 衝突 0

説明: 172.18.0.1はシステムによって占有されます

Dockerコンテナを作成して起動する

[root@insure updev]# docker run -itd -p 8091:8091 --name eurekadev --net mynetwork --ip 172.18.0.2 172.16.120.194:5000/claimeureka:latest /bin/bash
a6665cd3fd2e1cb7fca1215a1e75997276b928440e6b888cda4fe3644e0434df
[root@insure updev]# docker ps -a
コンテナID イメージ コマンド 作成ステータス ポート名
a6665cd3fd2e 172.16.120.194:5000/claimeureka:latest "java -jar /app.jar …" 6 秒前 5 秒前にアップ 0.0.0.0:8091->8091/tcp eurekadev
 [root@insure updev]# docker examine a6665cd3fd2e | grep IPアドレス
  「セカンダリIPアドレス」: null、
    "IPアドレス": "",
    "IPアドレス": "172.18.0.2",

注: コマンドを実行すると、コンテナが正常に起動したこと、およびアドレスが割り当てたIPアドレスであることがわかります。

これで、docker コンテナの固定 IP アドレスの起動方法についての記事は終了です。docker 固定 IP アドレスの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker バインディング固定 IP/クロスホストコンテナ相互アクセス操作
  • Docker で IP 設定を修正する方法
  • Docker は静的な外部ネットワークの固定 IP にバインドできないため、その解決策
  • Dockerコンテナの固定IP割り当ての詳細な説明
  • Dockerコンテナはカスタムネットワークセグメントで固定IP/静的IPアドレスを指定します
  • Dockerで固定IPとブリッジを設定する方法

<<:  一般的なブラウザのユーザーエージェントの概要

>>:  Vue におけるキープアライブ マルチレベル ルーティング キャッシュの問題

推薦する

シングルサインオン制御を実装するためのVueの完全なコード

参考までに、Vue シングル サインオンのデモをご紹介します。詳細を知りたい方のお役に立てれば幸いで...

CentOS 8 に Docker をインストールする詳細なチュートリアル

1. 以前のバージョン yum 削除 docker docker-client docker-cli...

Vueのキーボードイベントの詳細な説明

目次共通キーエイリアスエイリアスが指定されていないキーシステム修飾キーカスタムキーエイリアス要約する...

Docker プライベート サーバー イメージを定期的にクリーンアップする方法

CI を利用してリリース用の Docker イメージをビルドすることで、全員のバージョンリリース効率...

CSSレコードテキストアイコン配置のいくつかのソリューション

開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通...

「いいね!」文がインデックスに登録されないのはなぜですか?

序文この記事は、最も人気のある言語で最も退屈な基礎知識を説明することを目的としていますこのトピックは...

Windows ベースの MySQL 8.0.12 のインストール

このチュートリアルは Windows システムにのみ適用されます。インストールしたがまだインストール...

React Native環境のインストールプロセス

react-native インストールプロセス1.npx react-native init Awe...

JavaScriptの知識ポイントの詳しい説明

目次1. JavaScriptの基礎2. 基本的なJavaScript構文3. JavaScript...

ActiveMQ メッセージ サービスを構築するための Docker 学習方法の手順

序文ActiveMQ は、Apache が開発した最も人気があり強力なオープン ソース メッセージ ...

純粋な JS を使用して vue.js で双方向バインディング機能を実装する方法

目次まず、双方向バインディングを実装するアイデアについて説明します。これらの機能を実装するための j...

SQL 面接の質問: 時間差の合計を求める (重複は無視)

ある会社の BI 職の面接を受けたとき、面接で SQL に関する質問がありました。一見すると非常に簡...

CSS 8 目を引く HOVER 効果のサンプル コード

1. エフェクトHTMLを送信する <div id="送信ボタン">...

コンテンツの位置をランダムにドラッグするHTMLを実装する2つの方法

テスト: Chrome v80.0.3987.122 は正常です方法は2つあります。通常のラベルの位...

JavaScript setinterval 1秒遅延ソリューション

setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...