主頁 > 知識(shí)庫 > docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決

docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決

熱門標(biāo)簽:激光標(biāo)記地圖標(biāo)注 企業(yè)辦理400電話收費(fèi)標(biāo)準(zhǔn) 新鄉(xiāng)牧野400電話申請(qǐng) 電銷智能機(jī)器人試用 智能電銷機(jī)器人真的有用么 中國(guó)地圖標(biāo)注上各個(gè)省 高德地圖標(biāo)注足跡怎么打標(biāo) 百度地圖底圖標(biāo)注 撫州市城區(qū)地圖標(biāo)注

從docker hub下載了一個(gè)es的鏡像,版本為6.4.2,詳細(xì)信息如下:

比較重要的就是這兩條,第一個(gè)是工作目錄,掛載目錄也需要和這里對(duì)應(yīng);第二個(gè)是啟動(dòng)命令,這里是指定了一個(gè)預(yù)先寫好的啟動(dòng)腳本。所以我啟動(dòng)了一個(gè)空容器去查看了下容器內(nèi)的情況:

容器內(nèi)部目錄結(jié)構(gòu)如上圖,data是用來存放數(shù)據(jù),logs用來存放日志。

接著查看下啟動(dòng)腳本

/usr/local/bin/docker-entrypoint.sh

前半部分我也是看的一知半解,不過真正和掛載目錄相關(guān)的是最后這部分,這里處理了掛載目錄后的操作,大致意思是:

如果是root用戶(docker啟動(dòng)容器,默認(rèn)是以root用戶身份),并且 TAKE_FILE_OWNERSHIP 變量存在,則將/usr/share/elasticsearch/{data,logs},這兩個(gè)目錄都改變?yōu)?000用戶所屬(這里也可以看到最終存儲(chǔ)數(shù)據(jù)的路徑為data,所以掛載時(shí)應(yīng)該掛載到data下)。

id為1000的用戶:

正是elasticsearch用戶,所以如果不掛載任何目錄直接啟動(dòng)容器即可,如果掛載,那么就添加一個(gè)變量,任意賦值,es可以正常啟動(dòng)。

docker run -itd -v /root/es-data/:/usr/share/elasticsearch/data -e TAKE_FILE_OWNERSHIP=111 -p 9200:9200 --name es elasticsearch:6.4.2

補(bǔ)充知識(shí):記一次docker安裝elasticsearch及遇到的坑

先給一行命令

docker run -d -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" --name=<your es name> elasticsearch:<es version>

使用該命令可直接安裝并運(yùn)行es的docker 鏡像容器

問題

使用命令docker run -d -p 9200:9200 -p 9300:9300 --name=<your es name> elasticsearch:<es version>啟動(dòng), 然后想看是否啟動(dòng)起來了,于是使用docker ps命令發(fā)現(xiàn):

es并未啟動(dòng)起來。

于是又用docker ps -a命令:

發(fā)現(xiàn)啟動(dòng)終止了。

然后用docker logs -f <container id>命令查看es的啟動(dòng)日志:

拉到最下面:

長(zhǎng)這樣:

power management:

Memory: 4k page, physical 1882892k(89076k free), swap 0k(0k free)

vm_info: OpenJDK 64-Bit Server VM (25.181-b13) for linux-amd64 JRE (1.8.0_181-8u181-b13-2~deb9u1-b13), built on Oct 22 2018 18:05:23 by "pbuilder" with gcc 6.3.0 20170516

time: Fri Nov 23 07:00:34 2018
elapsed time: 0 seconds (0d 0h 0m 0s)

于是復(fù)制報(bào)錯(cuò)信息Google一波,發(fā)現(xiàn)問題所在。elasticsearch5.+配置默認(rèn)的內(nèi)存是2g。我給docker的內(nèi)存也只有2g,于是就GG了。

刪除了舊容器,和舊鏡像后,在docker啟動(dòng)命令中加上-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"解決問題

docker ps :

最后訪問一波9200端口:

OJBK

以上這篇docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

標(biāo)簽:西安 延安 南通 邯鄲 海西 忻州 臨汾 辛集

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決》,本文關(guān)鍵詞  docker,啟動(dòng),elasticsearch,鏡像,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決》相關(guān)的同類信息!
  • 本頁收集關(guān)于docker 啟動(dòng)elasticsearch鏡像,掛載目錄后報(bào)錯(cuò)的解決的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章