全球快看:Docker - docker-compose搭建ELK服務(wù)
概述
使用的是docker-compose方法安裝elk組件,對(duì)這部分的內(nèi)容進(jìn)行一個(gè)知識(shí)上的補(bǔ)充,使用docker-compose來編排中小型企業(yè)或者個(gè)人的開發(fā)環(huán)境是非常簡(jiǎn)捷高效的方式。
(資料圖)
docker-compose 基本使用
docker-compose工具使用的前提是你已經(jīng)準(zhǔn)備好了yaml文件工具,在之前的博客里我總結(jié)了命令式和聲明式的區(qū)別與關(guān)系,在這里我就不過多的敘述了,使用docker-compose的前提是文件夾里已經(jīng)準(zhǔn)備好了docker-compose文件。
$ tree.└── docker-compose.yaml
1.使用docker-compose pull
, 提前下載好yaml文件中所需要的鏡像。
$ docker-compose pullPulling cerebro ... donePulling kibana ... donePulling elasticsearch ... donePulling logstash ... donePulling elasticsearch2 ... done
2.啟動(dòng)服務(wù),-d
, 守護(hù)進(jìn)程方式
docker-compose up // 直接啟動(dòng)docker-compose up -d //守護(hù)進(jìn)程方式
3.docker-compose 構(gòu)建
docker-compose重新加載鏡像,執(zhí)行docker-compose up -d --build
命令進(jìn)行構(gòu)建。
4.docker-compose網(wǎng)絡(luò)
1.當(dāng)你未指定網(wǎng)絡(luò)時(shí),docker-compose就會(huì)給你創(chuàng)建一個(gè)默認(rèn)的網(wǎng)絡(luò),可以執(zhí)行docker network ls
里查看。
5.清理容器
清理后臺(tái)已經(jīng)終止運(yùn)行的容器
docker-compose rm
6.docker-compose擴(kuò)展
如果想對(duì)實(shí)例進(jìn)行水平擴(kuò)展,執(zhí)行下面的命令:
docker-compose up -d --scale servericeName=3
當(dāng)然我們也可以減少實(shí)例數(shù)量:
docker-compose up -d --scale servericeName=1
yaml文件結(jié)構(gòu)體demo
version: "2.2"services: box1: image: imageName:version command: /bin/sh -c "while true;do sleep 3600;done" box2: image: imageName:version command: /bin/sh -c "while true;do sleep 3600;done"
github地址:https://github.com/stark0824/k8s/tree/main/DockerCompose/elk
最后
1. yaml文件格式問題
ERROR: yaml.scanner.ScannerError: while scanning for the next tokenfound character "\t" that cannot start any token
yaml的格式比較嚴(yán)格,產(chǎn)生上面的錯(cuò)誤是因?yàn)槲募镉惺褂胻ab鍵的地方,把它替換成空格就可以解決問題了。
2. volumes文件映射問題
ERROR: for logstash7 Cannot start service logstash:failed to create shim: OCI runtime create failed
文件volumes文件映射路徑不存在導(dǎo)致的logstash服務(wù)啟動(dòng)失敗,可以使用命令docker-compose logs [容器name]
查看具體錯(cuò)誤信息。
標(biāo)簽: