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

推薦する

Redis イメージの Docker インストールと設定手順

目次序文環境インストールMySQLコンテナを作成して起動する落とし穴を避けるための注意MySQLコン...

ポップアップウィンドウの上下中央左右と透明な背景のロックウィンドウ効果を実現する CSS

クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...

html リンク タグ タイトル属性 改行 マウス ホバー プロンプト コンテンツ 改行効果

オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

1つのSQL文でMySQLの重複排除が完了し、1つが保持されます。

数日前、ある要件に取り組んでいたとき、MySQL で重複レコードをクリーンアップする必要がありました...

サーバーのDockerコンテナへのvscodeリモート接続を設定する方法

目次画像をプルするイメージを実行する(コンテナを生成する)コンテナを起動するコンテナに入るすべてのミ...

MySQL でよく使用されるデータベースとテーブル シャーディング ソリューションの概要

目次1. データベースのボトルネック2. サブライブラリとサブテーブル2. 横長テーブル3. 垂直サ...

ウェブページ作成時に標準 HTML コードを使用する際のポイント

<br />多くのウェブサイト デザイナーが犯す最も一般的な間違いは、ウェブページが I...

ウェブデザインのためのオンライン開発ツール10選の紹介

1. オンラインテキストジェネレーターBlindTextGenerator: デザイナーにとって、こ...

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

Baidu サイト検索が https をサポートしていない問題の解決策 (テスト済み)

最近、携帯電話で https が有効になりました。緑色のロックを取得するには、次の問題を解決する必要...

CSS スティッキー配置位置の詳細な説明: スティッキー問題の落とし穴

前書き: position:sticky は CSS ポジショニングの新しい属性です。相対ポジショニ...

React.Childrenの詳しい使い方

目次1. React.Children.map 2. React.Children.forEach ...

Maven で tomcat8-maven-plugin プラグインを使用する詳細なチュートリアル

オンラインで多くの記事を検索しましたが、解決策は見つかりませんでした。次のように、tomcat7-m...

MySQLにおけるSQLの実行順序についてのちょっとした質問

今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...