簡體   English   中英

每當我重新啟動 docker/elk 映像時,數據都會丟失

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM