それはこのようなものです、私はelascticsearch.yml構成ファイル+ elasticsearch:7.5.0ミラーを使用してelasticsearchサービスを開始しました。私のelasticsearch.yml構成ファイルを以下に示します
。elasticsearch:7.5もダウンロードしてインストールしました。 0ミラーリソース、次にelastcisearchコンテナーを起動し、次のコマンドでesサービスを起動する予定です。
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d \
-p 9200:9200 -p 9300:9300 \
-v /data/es/config/es.yml:/data/share/elasticsearch/config/elasticsearch.yml \
-v /data/es/data:/data/share/elasticsearch/data \
--name ES \
elasticsearch:7.5.0
この時点でエラーが発生し、次の
エラーが報告されました:特定のエラーメッセージは次のとおりです:docker:デーモンからのエラー応答:/ data / docker / overlay2 / 4990314e174cb3d6cd0d51af63da5bacab46c8f77c7dcc23ee782bf323c6ae4f-init / merged:そのようなファイルまたはディレクトリはありません。
理由:以前のelasticsearchのインストールが失敗したため、esをアンインストールしたときに、find / -name elasticsearch.ymlを使用して/ data / docker / overlay2 /の下のコンテナーファイルを検索し、esに関連するコンテナーファイルを削除しました。ただし、これにはes関連の構成ファイルが含まれる場合があります(一部のesコンテナーファイルは一緒にダウンロードするか、elasticsearch:7.5.0イメージをダウンロードするときにDockerコンテナーファイルとしてロードする必要があります)。esに関連するいくつかのコンテナファイルは削除できません(一部のコンテナファイルにはesミラーリングに関連する構成ファイルが含まれている可能性があるため)。また、esに関連するこれらのコンテナファイルを削除する必要はありません。これは、esコンテナが使用docker stop ES
およびdocker rmi ES -f
削除されるためです。現時点では、esに関連する多くのコンテナファイルが自動的に削除されるため、esに関連するコンテナファイルを手動で削除する必要はありません。
解決策:1.ローカルのDockerウェアハウスにあるesイメージ(elasticsearch:7.5.0)をアンインストールし、elasticsearch:7.5.0イメージを再度ダウンロードします。これにより、不足しているesコンテナーファイルが自動的に読み込まれます。(この方法は以前は効果的でしたが、私自身は成功しましたが、後でそれが機能しなかった理由がわかりません)
2.ローカルのDockerウェアハウスでesミラー(elasticsearch:7.5.0)をアンインストールして、もう一度ダウンロードします。elasticsearch:7.6.0
ミラー、つまりミラーバージョンが置き換えられます。この時点で、esサービスを開始するコマンドを少し変更する必要があります。
docker run -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -d \
-p 9200:9200 -p 9300:9300 \
-v /data/es/config/es.yml:/data/share/elasticsearch/config/elasticsearch.yml \
-v /data/es/data:/data/share/elasticsearch/data \
--name ES \
elasticsearch:7.6.0
これら2つのソリューションを通じて、この問題は解決できるはずです。
注:docker pull elasticsearch:7.5.0
ミラーをプルするコマンドを使用しないでください。このミラーのダウンロード速度が遅い場合があるため、国内ミラーソースからesミラーをダウンロードしてプルすることをお勧めしますdocker pull docker.elastic.co/elasticsearch/elasticsearch:7.5.0
。コマンドはです。