Dockerのシンプルで実用的な手順

まず、Dockerのバックグラウンドプロセスを開始します

systemctl start docker

サービスドッカースタート

マシン上の画像を一覧表示します

Docker画像

Dockerプロセスを表示する

docker ps

イメージからコンテナを開始(実行)

         docker runコマンドは、最初に特定のイメージから書き込み可能なコンテナーを作成し、次にstartコマンドを使用してコンテナーを開始します。停止したコンテナを再起動して、元の変更を保持できます。runコマンドには多くの起動パラメーターがあります。一般的な手順は次のとおりです。詳細については、http:
//www.cnphp6.com/archives/24899を参照してください。dockerrunを使用してコンテナーを作成する場合、標準の操作バックグラウンドで実行されているDockerの例は次のとおりです。

指定したミラーがローカルに存在するかどうかを確認し、存在しない場合はパブリックリポジトリからダウンロードします。
ミラーを使用してコンテナを作成して起動します。
ファイルシステムを割り当て、読み取り専用ミラーレイヤーの外側に読み取り/書き込みレイヤーをマウントします
。ホストホストから構成されたネットワークブリッジインターフェイスは、仮想インターフェイスをコンテナーにブリッジ
して、アドレスプールからコンテナーへのIPアドレス構成し
、ユーザー指定のアプリケーション実行します。
コンテナーは実行後に終了します。

docker create --name es -p 9200:9200 -p 9300:9300 -e "discovery.type = single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
イメージファイルに基づいてコンテナesを作成します

コンテナスタート

docker start container_name

コンテナログを表示する

dockerログcontainer_id

container_idを表示

docker ps -a

max_map_countの値を表示する

cat / proc / sys / vm / max_map_count

 

Elasticsearch java最小メモリホストマシン:sysctl -w vm.max_map_count = 262144

 

elasticserachが成功するかどうかをテストします

curl -X GET localhost:9200 /

 

Dockerとコンテナーは、単一または複数のコマンドをインタラクティブに実行します

docker exec elasticsearch bash -c "cd / bin /; ls";
 

コンテナに入り、インタラクティブシェルiインタラクティブtターミナルを実行します 

docker exec -it CONTAINER_ID bash 

アタッシェと-それは異なります、アタッシュは現在のログ出力情報を表示します

ocker attach --sig-proxy = false $ container_id

dockerでのesの起動が遅く、メモリが4Gです

Centos仮想マシンはインターネットにアクセスできません。ホストルートがない可能性があります

ルート追加0.0.0.0ネットマスク0.0.0.0gw192.168。eth0

                               vg論理ボリューム

lvcreate -L 0.9G vg_data4 -n LVdata4

ディレクトリサイズのレベル

du -h --max-depth = 1
 

Dockerスペースをクリーンアップします

Dockerシステムの整理

ヘッドプラグイン

Dockerプル後にes構成ファイルを変更する必要があります

vi config/elasticsearch.yml 最下面加上两行
http.cors.enabled: true 
http.cors.allow-origin: "*"

报错: "エラー": "Content-Typeヘッダー[application / x-www-form-urlencoded]はサポートされていません"、解决方法

-H'Content-Type:application / json '

curl -H'Content-Type:application / json '-XPOST http:// localhost:9200 / company / employee / 1 -d' {"first_name": "John"、 "last_name": "Smith"、 "age" :25、 "about": "ロッククライミングに行くのが大好き"、 "interests":["sports"、 "music"]} '
 

**単語セグメンテーションIKのインストールは、esのバージョンと一致している必要があります

 

ファイルを変更した後、Dockerコンテナーを開始できない場合、簡単な回復方法は、コンテナーを削除してから、imagecreateを使用してコンテナーを再作成することです。

データを挿入

curl -X PUT http:// localhost:9200 / index2 /インデックスの作成

curl -H'Content-Type:application / json '-XPOST http:// localhost:9200 / index2 / _analyze -d' {"analyzer": "ik_max_word"、 "text":["本の著作権、短い本の著作権は属する著者が所有する「]}」

クエリDSL查询
curl-XGET localhost:9200 / index2 / _search '{"query":{"match_all":{}}、; "_source":["テキスト"]; } '

 

1. User_idは文字列型ですが、そのインデックスは「not_analzyed」として定義されています。これを理解する必要があります。通常、検索エンジンの全文検索機能は次のように簡単に実装されます。元のドキュメントは単語のセグメンテーション後に使用されます。これらの単語は、転置インデックスを確立するために使用されます。オンラインで検索する場合、ユーザーのクエリワードがセグメント化され、単語のセグメント化結果を使用して、複数の転置インデックスのジッパー結果がプルされ、マージされ、関連性が並べ替えられて、最終結果が得られます。ただし、一部の文字列タイプのフィールドでは、実際には逆行を作成したくありません。ユーザーの名前など、完全に一致させたいだけです。名前フィールドが正確に「Zhang San」である人だけを検索したいのですが、単語セグメンテーション後の「Zhang」。4人と「LiSan」の2人、今回はインデックスタイプフィールドを定義する必要があります。このフィールドには、no、analyzed、not_analyzedの3つのタイプがあります。Noは、このフィールドがまったくインデックスに登録されていないことを意味します。Analyzedは分析と全文検索によって構築され、not_analyzedはキーワードに完全に一致するクエリメソッドです。

 

 

おすすめ

転載: blog.csdn.net/myidea999/article/details/93626713