Guía para actualizar Splunk corriendo en Docker.
Fue probado para actualizar de Splunk 7.3.0 a Splunk 8.0.4 sobre Docker 18.09.7 sobre Ubuntu 16.04.6 LTS.
1) Bajamos la última versión de la imagen:
$ docker pull splunk/splunk:latest
2) Nos fijamos cuales son los volumes del container actual:
$ docker inspect splunk | jq -r '.[].HostConfig.Mounts | .[] | "--mount source=\(.Source),target=\(.Target)"'
Ejemplo de la salida del comando:
--mount source=229cbffb35a278105b3e89fd915dd57a4f36c72587a6995f1ef3698cce588c15,target=/opt/splunk/etc
--mount source=78a802817a862aac2f5dd97ad0a321afbfaf3b9a90b9c0a819d2f67af73a9680,target=/opt/splunk/var
3) Frenamos el container actual y lo renombramos:
$ docker stop splunk
$ docker rename splunk splunk_old
4) Iniciamos el nuevo container indicando los --mount del paso 2:
$ docker run -d --restart always --mount source=229cbffb35a278105b3e89fd915dd57a4f36c72587a6995f1ef3698cce588c15,target=/opt/splunk/etc --mount source=78a802817a862aac2f5dd97ad0a321afbfaf3b9a90b9c0a819d2f67af73a9680,target=/opt/splunk/var -p 5601:8000 -p 9200:9997 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=PASSWORD DEL USUARIO ADMIN" --name splunk splunk/splunk
5) Después de confirmar que funciona todo ok, eliminar el container viejo:
$ docker rm splunk_old