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 のクロージャによって発生する問題を回避する

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

推薦する

CentOS 7へのJenkinsのインストール手順の詳細な説明

Yum経由でJenkinsをインストールする1. インストール # yum ソースをインポート wg...

JavaScript 定期検証パスワード強度実装方法

展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...

Dockerにlogstashをインストールする詳細な手順

docker-compose.yml を編集し、次のコンテンツを追加します。 バージョン: '...

node.jsミドルウェアの種類についての簡単な説明

目次概要1. アプリケーションレベルのミドルウェア2. 組み込みミドルウェア3. サードパーティミド...

CSS を使用して等アスペクト比のアダプティブ コンテナを実装する方法

最近、モバイル ページを開発しているときに、ページの幅が 100% の場合、高さは幅の半分になり、携...

JavaでTomcatサーバーを起動/停止する方法

1. プロジェクト構造 2.Tomcat.javaを呼び出す パッケージ com.calltomca...

MySQL のタイムスタンプと日付時刻のタイムゾーンの問題によって生じる DTS の落とし穴の詳細な説明

目次MySQL で現在の時刻を表現するにはどうすればよいでしょうか?結論は確認するピットMySQL ...

MySQL のフィールドに一意のインデックスを追加および削除する方法

1. PRIMARY KEY(主キーインデックス)を追加するmysql>ALTER TABLE...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...

重要なmysqlログファイルの概要

著者: 丁易出典: https://chengxuzhixin.com/blog/post/mysq...

CocosCreatorで複数のタイマーを使用する方法の詳細な説明

1.タイムアウトを設定する3 秒後に abc を印刷します。一度だけ実行します。 setTimeou...

ハイパーリンクの幅と高さを直接設定できない問題の解決策

幅と高さを直接使用することはできません。 display:block; または display:in...

elasticsearchを使用してインデックスデータを定期的に削除する

1. ESを使うこともあるリソースが限られている、またはビジネス上のニーズにより、最新の期間のデータ...

Linux には make コマンドがありません (make: *** ターゲットが指定されておらず、makefile または make コマンドのインストール方法が見つかりません)

知らせ! ! !この状況は、実際には仮想マシンのインストール中に回避できます。次回仮想マシンをテスト...