まず、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はキーワードに完全に一致するクエリメソッドです。