Docker イメージのローカル Elasticsearch ポート操作へのアクセス

Docker イメージのローカル Elasticsearch ポート操作へのアクセス

dockerスタックによってデプロイされたイメージサービスを使用すると、イメージを入力した後、理論的には、次の手順でローカルのelasticsearchサービスにアクセスできるはずです。

curl ローカル IP/9200

しかし、アクセスが拒否されたと表示されます。

その後、上記の手順を使用して確認したところ、マシンもアクセスを拒否していることがわかりました。

その後、ポート 9200 の elasticsearch サービスがリモート サーバーの elasticsearch サービスに穴を開けて接続されており、そのポートには次のコマンドでのみアクセスできることが判明しました。

カール 127.0.0.1:9200

ローカル IP アドレス経由でポート 9200 にアクセスする場合は、ホールパンチ コマンドの後に -g を追加する必要があります。

追加知識: Dockerでelasticsearchを実行すると、ポート9200にアクセスできず、コンテナは起動するとすぐに閉じられます。

docker を使用して es をインストールすると、ポート 9200 へのアクセスに失敗しました。docker ps を使用してコンテナーを表示すると、es を起動した後、一定時間後に自動的にシャットダウンすることがわかりました。仮想マシンのメモリを 4G に増やしましたが、問題は解決しませんでした。

実際、主な問題は、ES に割り当てられたメモリが小さすぎることです。

1. etc ディレクトリに入り、sysctl.conf ファイルを編集します。

vi /etc/sysctl.conf

2. 設定を追加します。

vm.max_map_count=262144

3. 実行:

sysctl -p

4. es の起動がまだ失敗する場合は、limits.conf を変更します。

vi /etc/security/limits.conf
*ソフトnofile65536
*ハードnofile 131072
* ソフト nproc 2048
* ハード nproc 4096

5. 最後に、仮想マシンを再起動し、ブラウザにアクセスします: http://192.168.162.131:9200。起動が成功したことを確認できます:

limits.confを変更せずにsysctl.confのみを変更することで成功しました。

上記のdockerイメージのローカルelasticsearchポートへのアクセス操作は、エディターが共有した内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • DockerコンテナはホストのMySQL操作にアクセスする
  • Docker コンテナのカスタム ホストのネットワーク アクセス操作
  • Docker ポート マッピングと外部アクセス不可の問題
  • Dockerでリモートアクセスを有効にする方法
  • DockerコンテナがJupyterにアクセスできない問題の解決策
  • Dockerモードで起動したTomcatのホームページにアクセスすると404エラーが発生する
  • 突然外部ネットワークからDockerにアクセスできなくなる問題の解決方法

<<:  初心者がHTMLタグを学ぶ(3)

>>:  MySQLの論理アーキテクチャに関する深い理解

推薦する

MySQL で特殊文字を含むデータベース名を作成する方法の例

序文この記事では、MySQL で特殊文字を使用してデータベース名を作成する方法について説明します。こ...

Centos 7 mysql-8.0.19-1.el7.x86_64.rpm-bundle.tar の簡単な分析

Baiduクラウドディスク:リンク: https://pan.baidu.com/s/1hv5rUW...

Ubuntu で FTP サーバーを構築する方法の詳細な説明 (成功保証)

1. 今日の午後、コースの要件により、Ubuntu で FTP サーバーを設定する実験を行う必要が...

JavaScript におけるブラウザ互換性の問題について簡単に説明します

ブラウザの互換性は、実際の開発では見落とされがちな最も重要な部分です。古いバージョンのブラウザの互換...

関連するプロパティのリストを含む HTML エリア イメージ ホットスポットの使用の概要

<area> タグは主にイメージマップで使用されます。イメージマップにアクティブ領域 (...

Vue.$set の失敗の落とし穴の発見と解決

偶然、プロジェクト内でVue.$setが無効であることがわかりましたデータ フィルタリングを追加する...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

Quickjs は JavaScript サンドボックスの詳細をカプセル化します

目次1. シナリオ2. 基盤となるAPIを簡素化する2.1 自動的に破棄を呼び出す2.2 VM値を作...

シームレスなトークンリフレッシュを実現する方法

目次1. 需要方法1方法2方法3 2. 実装3. 問題解決質問1: トークンの複数回の更新を防ぐ方法...

MySQL の文字セットの不一致によって発生する異常な接続テーブルの解決方法

目次1. 解決策2. MySQLの文字セット文字セット検証ルール次のように簡単なテーブルクエリを実行...

ノード スキャフォールディングを使用してトークン検証を実装するサーバーを構築する方法

コンテンツスキャフォールディングを使用してノードプロジェクトを素早く構築するデータベースとやり取りす...

この記事ではMySQLのNULLについて説明します。

目次序文MySQL の NULL 2 NULL占有長3 NULL値の比較4SQLはNULL値を処理す...

LambdaProbe を使用して Tomcat を監視する方法

導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...

...

MySQLクエリは、フィールドが数値とカンマではないことを指定します。

コアSQL文数字を含まない MySQL クエリ ステートメント: SELECT * FROM tes...