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 におけるキープアライブ マルチレベル ルーティング キャッシュの問題

推薦する

jsはシンプルなショッピングカートモジュールを実装します

この記事の例では、参考までに、シンプルなショッピングカートモジュールを実装するためのjsの具体的なコ...

VMware 上の CentOS に Oracle12.2 をサイレント インストールする詳細なグラフィック チュートリアル

環境準備: VMware+CentOS、jdk 1. システムディスクのサイズを確認する1. コマン...

jQueryはクッキーを操作する

コードをコピーコードは次のとおりです。 jQuery.cookie = 関数(名前、値、オプション)...

MySQL 5.x 以降を使用している場合のエラー #1929 列 ''createtime'' の日付時刻値が正しくありません: '''' の簡単な解決方法

MySQL をインストールした後、テーブル データを保存および削除しようとすると、常にエラー メッセ...

シンプルな計算機を実装する JavaScript コード

この記事では、参考までに、簡単な計算機を実装するためのJavaScriptの具体的なコードを紹介しま...

Centos7.2 で mysql5.7 データベースをインストールするための詳細な手順

サーバー上の mysql はバージョン 8.0.12 でインストールされており、ローカルのものはバー...

MySQLデータベースで列を追加、削除、変更する方法

この記事では、例を使用して、MySQL データベースの列を追加、削除、および変更する方法について説明...

XHTML Web ページ チュートリアル

<br />この記事は主に、初心者にXHTMLの基本知識と、XHTMLとHTMLの違いを...

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...

VueとElementUIを組み合わせたスキン変更ソリューション

目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...

DockerでのinfluxDB分散時系列データベースのインストールと関連操作について簡単に説明します。

influxDB の紹介influxDB は分散型時系列データベースです。 cAdvisor はリ...

Linux でプロセスを効果的に管理するための 8 つのコマンド

序文プロセス管理の役割:サーバーの健全性状態を判定する: プロセスの状態 (メモリ、CPU 占有率な...

CSSは高度に適応したフルスクリーンを実現します

独自のデモを作成するときに、display:flex を使用して垂直方向の中央揃えを実現したいと思い...

弾幕効果を実現するためのjQuery

この記事では、弾幕効果を実現するためのjQueryの具体的なコードを参考までに共有します。具体的な内...

フロントエンドJavaScript ES6の詳細について

目次1. はじめに1.1 Babel トランスコーダ1.2 ポリフィル2. let と const ...