docker部署es和kibana遇到的坑

2021-10-18 22:58:33 字數 2572 閱讀 4003

docker容器部署es和kibana需要注意的點:

1、es和kibana的映象版本必須一致。我這次用的是7.7.1版本

2、es非常占用記憶體,因此在建立容器的時候一定要控制es使用的記憶體

在7.7.1版本的kibana中已經存在了漢化補丁,我們只需要在配kibana的置檔案中新增資訊即可:

我在配置kibana.yml的配置檔案中加入

**i18n.locale: 「zh-cn」**了一行。

但是當我儲存重啟kibana容器的時候,容器啟動沒多久就會自動斷開。

通過檢視日誌顯示如下:

, column 1:^

at generateerror (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

167:10)

at throwerror (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

173:9)

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

1073:9

) at composenode (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

1359:12

) at readdocument (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

1519:3

) at loaddocuments (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

1575:5

) at load (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

1596:19

) at safeload (

/usr/share/kibana/node_modules/js-yaml/lib/js-yaml/loader.js:

1618:10

) at readyaml (

/usr/share/kibana/src/core/server/config/read_config.js:34:

47)at getconfigfromfiles (

/usr/share/kibana/src/core/server/config/read_config.js:66:

18)at rawconfigservice.loadconfig (

/usr/share/kibana/src/core/server/config/raw_config_service.js:51:

70)at bootstrap (

/usr/share/kibana/src/core/server/bootstrap.js:61:

20)at command.

(/usr/share/kibana/src/cli/serve/serve.js:

195:33)

at command.

(/usr/share/kibana/src/cli/command.js:

111:20)

at command.listener (

/usr/share/kibana/node_modules/commander/index.js:

291:8)

at command.emit (events.js:

198:13)

, column 1

:經過查資料分析,判斷是在kibana.yml配置檔案加入的那一行中:後面少了乙個空格。類似於下圖:

其實問題很簡單,我們只有重新進入容器修改配置檔案,但是問題來了,kibana容器每次剛啟動沒幾秒鐘,就會自動斷開,根本來不及修改。

如何在容器無法啟動的情況下修改裡面的配置檔案?最終我是通過笨辦法,在容器啟動的瞬間

docker cp kibana.yml k7:

/usr/share/kibana/config/kibana.yml

把裡面的配置檔案替換的辦法,把錯誤的kibana.yml檔案替換掉的。

替換後,容器就可以正常啟動啟動了,而且頁面也被漢化了。

時隔半個月再回過頭來看,其實那種方法真的很笨。如果啟動不了可以直接刪除刪除容器,重新建立很簡單的事情。在建立的時候可以做資料持久化,建立資料卷,將配置檔案掛載到宿主機上,這樣修改配置就十分方便。

資料持久換的兩種方式:

一:建立資料卷,這種掛載的方式是直接將容器的指定目錄掛載到宿主機,但是這中掛載無法指定掛載到宿主機的位置。

二:bind的掛載,可以任意掛載到宿主機的任意位置。

docker搭建es集群ik分詞kibana

實際應用中應是多台伺服器做集群,這裡演示僅一台伺服器用埠號區分的偽集群,這裡忽略docker容器安裝jdk等必要基礎環境,需悉知.1.拉取相應版本es docker pull elasticsearch 6.8.62.啟動容器 註明 可將第13步可在此處設定 v usr local data usr...

docker部署 docker環境部署mysql

蘇軾 這裡我拉取了tag為5.7的映象 docker pull mysql 5.7因為需要自定義mysql的配置,所以需要乙個配置目錄 因為需要將mysql生成的資料掛載到本地,所以需要乙個資料目錄 建立mysql 資料目錄mkdir p root mysql data 建立配置檔案 touch r...

docker容器安裝和部署

最近太忙了,公司一直在忙著新版發布上線,所以一直都沒有分享。今天,要分享的內容是docker容器化部署伺服器環境,之前的專案有用到過,發現這個容器部署在集群和多伺服器統一管理上很是方便,所以就研究了一下,不過,對於一些新手來說,可能比較麻煩,因為docker應用,相當於是在各種軟體和服務的基礎上又封...