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

推薦する

Mysql: 定義者として指定されたユーザー ('xxx@'%') が存在しません 解決策

本日のプロジェクト最適化中に、MySQL に問題が発生しました: 定義者として指定されたユーザー (...

mysql5.7.24 バージョンのインストール手順と解凍時に発生した問題の概要

1. ダウンロード参考: 2. D:\MySQL\mysql-5.7.24 などの固定の場所に解凍し...

画像をMySQLデータベースに保存し、フロントエンドページに表示するための実装コード

目次1. まず、pycharmを使用してDjangoプロジェクトを作成し、関連する環境を設定します。...

HTMLフォーム要素の詳しい解説(パート2)

HTML 入力属性値属性value 属性は、入力フィールドの初期値を指定します。 <フォーム...

MySQL の最適化: サブクエリの代わりに結合を使用する

サブクエリの代わりにJOINを使用するMySQL はバージョン 4.1 以降で SQL サブクエリを...

Ubuntu16.04にCUDA9.0をインストールするための詳細なチュートリアル

序文:この記事は、CUDA 9.0 をインストールした経験に基づいています。CUDA 9.0 は現在...

Docker Compose の実践とまとめ

Docker Compose は、Docker コンテナ クラスターのオーケストレーションを実現しま...

springcloud alibaba nacos linux 設定の詳細なチュートリアル

まず、github から nacos の圧縮パッケージをダウンロードします: https://git...

Javascript配列の重複排除のいくつかの方法の詳細な説明

目次アレイ重複排除1 2層forループ(バブルソートの2層ループ記述に類似) 2 ループとインデック...

CSS3 のカラー値 RGBA とグラデーションカラーの使用方法の紹介

CSS3以前は、グラデーション画像は背景画像としてのみ使用できました。 CSS3 のグラデーション構...

Vue el-date-picker 動的制限時間範囲ケースの詳細な説明

2つの状況がある1. 開始時間と終了時間が同じボックス内にあります(今月のみ限定) 2. 開始時間と...

MySQL テーブルタイプ ストレージエンジンの選択

目次1. 現在のデータベース支出のストレージエンジンを表示する方法1:方法2: 2. ENGINE=...

CSS を解析して画像のテーマカラー機能を抽出する (ヒント)

背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...

js での typeof の使い方を理解するための記事

目次ベース戻り値の型文字列とブール値数値とbigintシンボル未定義関数物体他のよくある質問参照エラ...