在docker裡安裝ES和設定索引

2021-09-29 18:03:08 字數 2557 閱讀 8910

docker pull elasticsearch
首先用以下命令查詢es的版本

docker search elasticsearch
這樣會列出一些版本,指定版本安裝

docker pull elasticsearch  docker.io/elasticsearch:5.6.12
repository                tag                       image id            created             size

docker.io/rabbitmq        3.8.1-management-alpine   d2b1c2a90750        6 days ago          139 mb

docker.io/redis           5.0.6-alpine              6f63d037b592        3 weeks ago         29.3 mb

docker.io/openjdk         8u212-jdk-alpine          a3562aa0b991        6 months ago        105 mb

docker.io/elasticsearch   5.6.12                5acf0e8da90b        14 months ago       486 mb

接下來我們執行docker run命令安裝es

docker run -d --rm --name myes -p 9200:9200 -p 9300:9300 docker.io/elasticsearch:5.6.12
但是這樣的話,我們開啟瀏覽器的head外掛程式是不能連上我們剛安裝的es的,原因是需要進行跨域配置,具體的配置檔案這樣找

docker exec -it myes bash
這樣進入容器內部,然後進入config目錄,cd config,發現裡面有乙個elasticsearch.yml檔案,我們需要將裡面的內容修改為

http.cors.allow-origin: "*"但是因為docker容器裡面不支援vi命令,那怎麼辦呢,我們可以使用docker的掛載檔案功能

首先我們需要將這個檔案從容器裡面複製到宿主機裡

docker cp myes:/usr/share/elasticsearch/config/elasticsearch.yml  /root/myfile/elasticsearch.yml
命令解釋:意思是拷貝docker裡myes這個容器裡面的/usr/share/elasticsearch/config/elasticsearch.yml到宿主機/root/myfile/elasticsearch.yml

這樣我們就可以修改宿主機裡的檔案內容了

修改完畢後,我們需要掛載了

docker裡的掛載命令:-v  宿主機檔案:docker檔案

具體啟動命令如下

docker run -d --name myes -p 9200:9200 -p 9300:9300 -v /root/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.io/elasticsearch:7.4.0
這樣,我們就能在瀏覽器用head外掛程式檢視es裡面的情況了

我們可以通過curl命令在任意一台能聯通es伺服器的機器上建立索引

具體示例如下

curl -xput  -d'

}, "test_type": }},

"name": }},

"addr": ,

"birthday": ,

"uuid":

}} }

}'

其中,number_of_replicas為副本數量,number_of_shards為分片數量,dynamic_date_formats意思為自動為data型別的字段轉換格式為yyyy-mm-dd

如果我們確定某乙個欄位不需要索引的話,就可以用"index": false 來設定不索引,這樣的話會提高一點點es插入的效能,但是這樣做的話,我們是沒法通過這個字段索引出來需要的文件的。ps:這樣設定並不會妨礙這個欄位的展示,意思就是如果能搜尋出文件,這個字段同樣能被搜尋出來,只是不能被用來做搜尋條件。

更新對於es7,上述的建索引的命令不能用,因為官方表示es7版本以後的索引都不支援索引型別,都用預設的doc型別,新的命令如下

, "properties": ,

"name": ,

"country": ,

"addr": ,

"age": ,

"date": ,

"birthday":

}}}'

插入資料命令如下'

docker 容器裡安裝mysql

ubuntu官方映象是精簡的ubuntu系統,很多軟體和庫沒有安裝,所以直接安裝mysql的話依賴較多,建議直接從原始碼編譯安裝mysql 先啟動乙個容器,建議可以建立乙個包含常用工具的便於自己使用的基本映象,比如 包含vim net tools 新增阿里雲映象 安裝編譯環境 需要gcc cmake...

在docker中安裝和使用kafka

docker pull wurstmeister zookeeper docker pull wurstmeister kafka 在命令中執行docker images驗證兩個映象已經安裝完畢 2.啟動 啟動zookeeper容器 docker run d name zookeeper p 218...

在 Docker 中設定時區

docker hub 中的官方映象,一般都預設設定為 utc 時間。而我們位於東八區,在啟動容器或構建自己的映象時,往往需要對時區進行設定。根據基礎映象的不同,設定時區的方法也有所區別。由於 debian 映象中已經包含了 tzdata,因此設定時區的方法比較簡單,只需新增環境變數 tz 即可。我們...