Docker は固定コンテナ IP アドレスを実現するためにカスタム ネットワークを作成します。

Docker は固定コンテナ IP アドレスを実現するためにカスタム ネットワークを作成します。

デフォルトのブリッジ ネットワークのため、コンテナーを再起動すると IP アドレスが変更されます。シナリオによっては、コンテナの IP アドレスを修正する必要があります。
Docker-compose は、コマンド モードに応じてネットワークやコンテナーなどを作成する Docker 用のオーケストレーション ツールです。設定ファイルを使用すると比較的便利で、問題を追跡できます。

docker-compose.ymlファイルを直接貼り付けます

バージョン: '2'
サービス:
  nginx:
   イメージ: nginx:1.13.12
   コンテナ名: nginx
   再起動: 常に
   端末: 真
   ネットワーク:
     外部ネットワーク:
      ipv4_アドレス: 172.19.0.2
 
ネットワーク:
  外部ネットワーク:
   ipam:
     設定:
     - サブネット: 172.19.0.0/16
      ゲートウェイ: 172.19.0.1

例:

  • ゲートウェイはゲートウェイアドレスです
  • サブネットはネットワークセグメントです
  • extnetworkはカスタムネットワーク名です

上記の設定では、nginxコンテナのIPアドレスは172.19.0.2に固定されています。

例: カスタム ネットワーク モード:

バージョン: '2'
サービス:
  nginx:
   イメージ: nginx:1.13.12
   コンテナ名: nginx
   再起動: 常に
   ネットワーク:
     外部ネットワーク:
   ポート:
     - 80:80
   ボリューム:
     - '/nginx/conf.d:/etc/nginx/conf.d'
  nginx2:
   イメージ: nginx:1.13.12
   コンテナ名: nginx2
   再起動: 常に
   ネットワーク:
     外部ネットワーク:
      ipv4_アドレス: 172.19.0.2
     
  デシベル:
   イメージ:mysql:5.7
   コンテナ名: db
   ボリューム:
    - /var/lib/mysql:/var/lib/mysql
   再起動: 常に
   ネットワーク:
     外部ネットワーク:
   ポート:
     -3306:3306
   環境:
    MYSQL_ROOT_PASSWORD: ワードプレス
    MYSQL_DATABASE: ワードプレス
    MYSQL_USER: ワードプレス
    MYSQL_パスワード: wordpress   
  
  ワードプレス:
   画像: wordpress:最新
   コンテナ名: wordpress
   依存:
     -db
   ポート:
     - 「8000:80」
   再起動: 常に
   ネットワーク:
     外部ネットワーク:
   環境:
     WORDPRESS_DB_HOST: db:3306
     WORDPRESS_DB_NAME: ワードプレス
     WORDPRESS_DB_USER: ワードプレス
     WORDPRESS_DB_PASSWORD: ワードプレス
ネットワーク:
  外部ネットワーク:
   ipam:
     設定:
     - サブネット: 172.19.0.0/16
      ゲートウェイ: 172.19.0.1

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerのネットワークモードと設定方法
  • Docker Compose ネットワーク設定の説明
  • Dockerカスタムネットワーク実装

<<:  JavaScript のクロージャによって発生する問題を回避する

>>:  データベースクエリ、どのオブジェクトにどのフィールドが含まれているか、メソッドステートメント

推薦する

MySQL 8.0.17 winx64 (Navicat 付き) 手動構成バージョンのインストール チュートリアル図

1. ダウンロードアドレス: mysql-8.0.17-winx64ダウンロードして解凍する2. フ...

MySQLのexecute、executeUpdate、executeQueryの違い

execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...

MySQL 8.0.13 のダウンロードとインストールのチュートリアル(画像とテキスト付き)

MySQL は最もよく使用されるデータベースです。詳しく知るには、コンピュータにインストールする必...

Reactはルーティングを使用してログインインターフェースにリダイレクトします

前回の記事では、webpack と react 環境を設定した後、ログイン インターフェースとその後...

Docker を使用した nGrinder パフォーマンス テスト プラットフォームの導入プロセスの分析

nGrinderとは何ですか? nGrinder は、スクリプトの作成、テストの実行、監視、結果レポ...

Docker環境を構築する簡単な方法

まず、Docker とは何かを理解しましょう。 Docker は、アプリケーションをデプロイするため...

MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...

表示または可視性によってHTML要素を非表示にする

場合によっては、特定の条件に基づいて Web ページ内の HTML 要素を表示するか非表示にするかを...

Linux ディスクのシーケンシャル書き込みとランダム書き込みの方法

1. はじめに● ランダム書き込みではヘッドがトラックを頻繁に変更するため、効率が大幅に低下します。...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

Vue3 コンポジション API でロジックの再利用を実装する方法

Composition API はロジック再利用手順を実装します。ロジックコードを関数に抽出します。...

Git サーバーを使用してデバッグ ブランチを表示し、修正する方法を 1 日 1 分で学習します。

デバッグブランチプロジェクトの通常の開発中に、以前にリリースされたバージョンにバグがある場合がありま...

挿入前にレコードが既に存在するかどうかを確認するには、SQL ステートメントを使用します。

目次SQL文を挿入する前にレコードが既に存在するかどうかを確認するSQL挿入時の判断の簡単なコレクシ...

Tomcat の構成と最適化ソリューションの詳細な説明

サービス.xml Server.xml 構成ファイルは、コンテナー全体を構成するために使用されます。...

初心者がHTMLタグを学ぶ(2)

初心者は、いくつかの HTML タグを理解することで HTML を学習できます。この入門書は、初心者...