[英]The data is getting lost whenever I restart the docker/elk image
我正在使用 docker/elk 圖像在 kibana 儀表板(版本 6.6.0)中顯示我的數據,並且效果很好。 我像使用以下命令一樣啟動了服務。
Docker 圖像 git 回購:
https://github.com/caas/docker-elk
命令:
sudo docker-compose up --detach
期望它將在后台運行,並按預期進行。 兩天后服務器啟動並運行,第三天單獨停止了 kibana。 並使用以下命令使其啟動並運行。
sudo docker run -d <Docer_image_name>
當我使用 docker ps 命令時,它已啟動並運行。 但是當我嘗試在 chrome 瀏覽器中訪問 kibana 服務器時,它說無法訪問。
所以我只是習慣了下面的命令來重新啟動服務。
sudo docker-compose down
之后,我可以在 Chrome 瀏覽器中看到 kibana 服務器已啟動並正在運行,但我確實看到我的所有數據都丟失了。
我在 jenkins 中使用了下面的 URL 來收集數據。
`http://hostname:9200/ecdpipe_builds/extern`al
知道如何解決這個問題嗎?
我沒有看到你在他們的 GitHub docker-compose 文件中提到的圖像的持久存儲配置。
如果您未提供持久存儲配置,則在 docker 容器的情況下丟失數據很常見。 所以如果沒有持久配置 docker-compose 文件, docker-compose down
可能會導致您的數據丟失。
持久化日志數據
為了在容器重新啟動時保留日志數據,此映像將
/var/lib/elasticsearch
elasticsearch(Elasticsearch 存儲其數據的目錄)作為卷掛載。但是,您可能希望使用專用數據卷來保存此日志數據,例如便於備份和恢復操作。
一種方法是使用 docker 的 -v 選項安裝 Docker 命名卷,如下所示:
$ sudo docker run -p 5601:5601 -p 9200:9200 -p 5044:5044 \
-v elk-data:/var/lib/elasticsearch --name elk sebp/elk
此命令將命名卷 elk-data 掛載到 /var/lib/elasticsearch(如果卷不存在,則自動創建該卷;您也可以使用 docker volume create elk-data 手動預創建它)。
因此,您可以在 docker-compose 文件中相應地設置這些路徑。 這是您可以檢查elk-docker-persisting-log-data的鏈接
使用 docker 卷或文件位置作為持久空間
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.