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実装

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

推薦する

jQueryは要素を追加した後に元のイベントが実行されない問題を解決します

まずエラーコードを見てみましょう。 html: <テーブルボーダー="1"...

フロントエンドJavaScriptの動作原理

目次1. JavaScript エンジンとは何ですか? 2. V8エンジン3. ランタイム環境4. ...

Docker ベースの nginx ファイル サーバーを構築する方法と手順

1. このマシンに新しい設定ファイルdocker_nginx.confを作成します。 サーバー{ 7...

easycomモードでUNI-APPコンポーネントを呼び出す際に習得する必要がある実践的なスキル

この記事は議論の出発点となることを目的としています。詳細なドキュメントと easycom の仕様につ...

Linux環境でglogログライブラリを使用する方法

Linuxライブラリを生成するLinux版はcentos7.3を使用し、コンパイルしてライブラリを生...

MySQL での実行計画の詳細分析

序文効率的なSQL文の書き方は、Explain実行計画の分析と切り離せません。実行計画とは何か、効率...

Vueはドラッグアンドドロップを使用して構造ツリーを作成します

この記事の例では、ドラッグアンドドロップを使用して構造ツリーを作成するVueの具体的なコードを共有し...

Dockerボリュームのファイルマッピング方法

背景ブロックチェーン ログ モジュールで作業しているときに、コンテナーが実行されている場合は、ログ ...

Vue3 における computed の新しい使用例のまとめ

vue3 での computed の使い方。vue3 は vue2 のオプション API と互換性が...

mysql 5.6.21 のインストールと設定の詳細な手順

1. 概要MySQL バージョン: 5.6.21ダウンロードアドレス: https://dev.my...

ウェブデザインでテキストのサイズを合わせる方法: 小さなテキスト、大きな体験

iPadなどのモバイル端末の普及により、人々がモバイル端末で読書に費やす時間はますます長くなり、読...

Dockerでmongodbデータベースを使用するための実装コード

mongoイメージを取得する sudo docker pull mongo mongodbサービスを...

Docker、プレーヤー機能を備えたCMSオンデマンドシステムを構築

目次文章1. 機械を準備する2. Dockerをインストールする1. 依存パッケージをインストールす...

Vue はトークンの有効期限が切れると自動的にログインページにジャンプする機能を実装します

このプロジェクトは最近テストされ、テスターから、トークンの有効期限が切れたため、ルートが自動的にログ...