A dokumentáció (https://docs.splunk.com/) alapján egyszerű a dolgunk.
Letöltjük az image -et:
docker pull splunk/splunk:latest
Majd egy alap paraméterezéssel futtatjuk:
docker run -d -p 8000:8000 -e SPLUNK_START_ARGS='--accept-license' -e SPLUNK_PASSWORD='<password>' splunk/splunk:latest
A jelszónak az konténer alap beállításai szerint legalább 8 karakter hosszúságúnak kell lennie, ha nem ilyent adunk meg, akkor nem fog tudni elindulni.
Ezt követően használhatjuk is, a böngészőben egyszerűen nyissuk meg a http://127.0.0.1:8000/ oldalt.
Apple Silicon
Ha Apple Silicon (vagy egyéb nem amd64) platform alatt szeretnénk futtatni problémába fogunk ütközni, ugyanis a Splunk konténert nem fordítottál le erre alapból. A legegyszerűbb, ha emuláljuk az amd64 utasításkészletet, a Rosetta 2 ezt megoldja nekünk (Apple Mac estében) egész jó hatékonysággal. Ehhez csak annyi a dolgunk, hogy a pull esetén megadjuk, hogy a linux/amd64 platformra készített konténert szeretnénk letölteni:
docker pull --platform=linux/amd64 splunk/splunk
Ezt követően már tudjuk futtatni, csupán egy WARNING üzenetet kapunk
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Compose
Ha szeretnénk docker compose alatt futtatni, arra is találunk mintát, hozzuk létre a docker-compose.yml fájlt:
version: "3.6"
services:
splunk:
image: ${SPLUNK_IMAGE:-splunk/splunk:latest}
container_name: splunk
environment:
- SPLUNK_START_ARGS=--accept-license
- SPLUNK_PASSWORD=<password>
ports:
- 8000:8000
Majd futtassuk:
docker-compose up -d
További mintát találunk a splunk github oldalán: https://splunk.github.io/docker-splunk/EXAMPLES.html
Volume
Ha szeretnénk, hogy az adatok megmaradjanak (ami elég hasznos, ha nem csak egy egyszeri teszt), akkor volume -ot kell használnunk az adatok tárolására, hogy azok a konténert leállítását követően is megmaradjanak.
Két helyen tárolódnak az adatok, az egyik a /opt/splunk/var, a másik a /opt/splunk/etc. Az előbbi alatt vannak az indexek, az adatbázis, az utóbbi alatt pedig a konfigurációnk.
Első körben létre kell hoznunk ezeket volume tárolókat:
docker volume create splunk-var
docker volume create splunk-etc
Majd nincs más dolgunk, mint használni:
docker run -d -p 8000:8000 -e SPLUNK_START_ARGS='--accept-license' -e SPLUNK_PASSWORD='<password>' --volume splunk-var:/opt/splunk/var splunk-etc:/opt/splunk/etc splunk/splunk:latest
Vagy compose esetén:
version: "3.6"
volumes:
splunk-var:
splunk-etc:
services:
splunk:
image: ${SPLUNK_IMAGE:-splunk/splunk:latest}
container_name: splunk
environment:
- SPLUNK_START_ARGS=--accept-license
- SPLUNK_PASSWORD=<password>
ports:
- 8000:8000
volumes:
- splunk-var:/opt/splunk/var
- splunk-etc:/opt/splunk/etc
Docker Desktop
Természetesen Docker Desktop alatt is összekattinthatjuk.
A named volume létrehozását (ha szeretnénk használni) a Volumes lapon, egyszerűen a create gombbal, a nevét megadva tudjuk létrehozni, de ezt ki is hagyhatjuk, ha megadjuk paraméterként és még nem létezik, akkor meg is teszi helyettünk. 🙂
Amikor az image mellett a futtatásra kattintunk, az Optional settings mellett tudjuk megadni a paramétereket:
A named volume esetén a Host path mezőbe egyszerűen csak adjuk meg a nevet.