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

推薦する

太字の <b> と <strong> の違いの分析

私たちウェブマスターは皆、ウェブサイトを最適化する際に記事内のキーワードを太字にすることが最適化に非...

SpringBoot プロジェクトの Docker 環境を実行するときに発生する無限再起動問題の詳細な説明

もしかしたら私の考え方が間違っていたのかもしれないし、問題の説明が少し乱雑だったのかもしれないが、こ...

sqlmap インジェクションの詳細なグラフィック説明

目次1. この Web サイトには SQL インジェクションの脆弱性がある可能性があることが判明しま...

Vueモバイル端末は左スライド編集と削除の全プロセスを実現します

序文プロジェクトのニーズに応じて、Vue-touch を使用して、vue モバイル端末の左スワイプ編...

Dockerfile における ENTRYPOINT と CMD の違い

Docker システムの学習チュートリアルでは、Dockerfile を使用して Docker イメ...

tomcatでcatalina.outログをカットする3つの方法の詳細な説明

1. ログセグメンテーションのためのLog4j 1) log4j-1.2.17.jar、tomcat...

vue ディレクティブ v-bind の使用と注意点

目次1. v-bind: 要素の属性にデータをバインドできる2. v-bind: は次のように省略で...

1つの記事でJSONPの原理と応用を理解する

目次JSONPとはJSONP 原則JSONP実装1. Ajaxでクロスドメインリクエストが行われると...

Docker Compose ネットワーク設定の説明

基本概念デフォルトでは、Compose はアプリケーション用のネットワークを作成し、サービスの各コン...

Docker ベースの Tomcat クラスタと Nginx ロード バランシングの展開の概要

目次前面に書かれた1. Ngixnイメージの作成2. Java Web (Tomcat) アプリケー...

MySQL でよく使用されるステートメントの包括的な概要 (必読)

以下にまとめたナレッジポイントはどれもよく使われる貴重な情報ばかりですので、ぜひ上手に集めてください...

Windows で削除された MySQL 8.0.17 のルート アカウントとパスワードを回復する方法

少し前にSQLの独学を終え、MySQL 8.0.17をダウンロードしました。インストールして設定した...

JavaScriptにおけるPromiseの使い方と注意点について(推奨)

1. 約束の説明Promise は、非同期操作の最終状態 (失敗または正常完了) とその結果の値を...

Linux 環境変数の設定方法のまとめ (.bash_profile と .bashrc の違い)

Linux では、アプリケーションをダウンロードしてインストールすると、起動時にアプリケーション名...

MySQLはconnect_by_isleaf MySQLメソッドまたはストアドプロシージャに似た機能を実装します

最近、特に異常なビジネス需要があり、テーブルがあります テーブル「デモ」を作成します( `id` i...