DockerイントラネットはDNSを構築し、ip:port操作の代わりにドメイン名アクセスを使用します

DockerイントラネットはDNSを構築し、ip:port操作の代わりにドメイン名アクセスを使用します

たとえば、イントラネットに Jenkins サーバーがある場合、そのサーバーにアクセスするには、その IP とポート番号を覚えておく必要があります。 1 つのサービスを覚えることはできますが、複数のサービスがある場合は、いくつかのイントラネット サービスを記録するために覚えやすいドメイン名が必要になる場合があります。

ステップ1: Docker環境を準備する

ステップ2: 画像をダウンロードする

docker pull andyshinn/dnsmasq:2.75

ステップ3: dnsmasqを実行する

#バックグラウンドで開始 docker run -d -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN --name dns-server andyshinn/dnsmasq:2.75

#コンテナに入る docker exec -it dns-server /bin/sh

#プロキシファイルの作成 - 外部DNSの追加
vi /etc/resolv.dnsmasq

ネームサーバー 114.114.114.114
ネームサーバー 8.8.8.8

#新しいローカル解決ルール構成を作成 - ローカル解決ルールを追加#注: ここでの IP は、Docker が配置されているホストの IP で入力する必要があります
vi /etc/dnsmasqhosts
.168.3.54 jenkins.ean.com test1.ean.com
.168.3.54 の redis.ean.com

#先ほど設定した2つのファイルを追加します #vi /etc/dnsmasq.conf
解決ファイル=/etc/resolv.dnsmasq
addn-hosts=/etc/dnsmasqhosts

#コンテナを終了して再起動する

docker dns-server を再起動する

ステップ4: nginxを設定する

3.54ではドメイン名リバースプロキシとしてnginxを必ずインストールしてください

サーバ{
 聞く 80;
 サーバー名 jenkins.ean.com;
 proxy_set_header ホスト $host;
 位置 /{
  プロキシパス http://192.168.3.54:8060;
 }
}

追加知識: docker pull プライベート ウェアハウス イメージ

1. Docker プルプライベートウェアハウスエラー

httpサーバーはhttpsクライアントにhttp応答を返しました

Dockerのバージョンが異なるため、次の2つの方法を試すことができます: (クライアント側での構成)

(1)方法1:/etc/docekr/daemon.jsonを設定する

:vim /etc/docker/daemon.json を実行します。
{
 "insecure-registry": ["172.16.12.196:5000"] (倉庫のアドレス)
}

(2)方法2:/etc/sysconfig/dockerを設定する

: : vim /etc/sysconfig/docker を実行する

INSECURE_REGISTRY = "--insecure-registry 172.16.12.196:5000"

Docker イントラネットで DNS を設定し、ip:port の代わりにドメイン名アクセスを使用する方法については、上記の記事が皆さんにお伝えできるすべてです。この記事が皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker は完璧な PaaS の代替手段でしょうか?
  • 廃止された Docker は Podman に置き換えられますか?

<<:  カルーセルカルーセルケースのJS実装

>>:  マークアップ言語 - アンカー

推薦する

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

MySQLデータベースを別のマシンに移行する方法の詳細な説明

1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...

JavaScriptがDOMツリーの構築にどのように影響するかについて詳しく説明します。

目次ドキュメント オブジェクト モデル (DOM) DOM と JavaScript DOMツリーの...

MySQLループは数千万のデータを挿入する

1. テストテーブルを作成する テーブル `mysql_genarate` を作成します ( `id...

Nodejs 組み込み暗号化モジュールを使用してピアツーピアの暗号化と復号化を実現する詳細な説明

暗号化と復号化は、通信のセキュリティを確保するための重要な手段です。すでに多くの暗号化アルゴリズムが...

Linux における「!」の知られざる使用法のまとめ

序文実際、Linux では、控えめな「!」が驚くほど多くの用途で使用されています。この記事では、「!...

JavaScriptはスタック構造の詳細なプロセスを実装する

目次1. スタック構造を理解する2. スタック構造のカプセル化3. 10進数を2進数に変換する1. ...

Docker コンテナのログを表示およびクリーンアップする方法 (テスト済みで効果的)

1. 問題Docker コンテナのログにより、ホストのディスク領域がいっぱいになりました。 doc...

sqlとmysqlの違いは何ですか?

SQL とは何ですか? SQL はデータベースを操作するために使用される言語です。 SQL はすべ...

DockerにTomcatコンテナを追加したときにホームページにアクセスできない問題の解決方法

質問docker run コマンドを使用して、tomcat コンテナが正常に追加されました。ポートも...

ビューポートの基本原理と詳細な使用方法

1. ビューポートの概要モバイル ブラウザは通常、画面よりも幅の広い仮想ウィンドウにページをレンダリ...

Vue を使用して CSS トランジションとアニメーションを実装する方法

目次1. トランジションとアニメーションの違い2. Vueを使用して基本的なCSSトランジションとア...

選択ドロップダウンメニューのテキストを左右にスクロールするように設定する

marquee タグを使用してフォントのスクロールを設定したいです。コードは次のように記述しましたが...

MySQL のデッドロックとデータベースおよびテーブル シャーディングの問題の詳細な説明

MySQL 運用上の問題点を記録します。ビジネスシナリオと問題の説明外部インターフェースをリクエスト...

XHTML Web ページ チュートリアル

<br />この記事は主に、初心者にXHTMLの基本知識と、XHTMLとHTMLの違いを...