From cb5a2f006e82d232a823d71772e6157429c0b53d Mon Sep 17 00:00:00 2001 From: Chris Bono Date: Sun, 7 Aug 2022 00:00:49 -0500 Subject: [PATCH] Add scripts to run standalone in Docker (#54) Fixes #32 --- tools/pulsar/docker/README.adoc | 32 +++++++++++++++++++ .../docker/standalone/pulsar-destroy.sh | 7 ++++ .../pulsar/docker/standalone/pulsar-start.sh | 7 ++++ tools/pulsar/docker/standalone/pulsar-stop.sh | 5 +++ 4 files changed, 51 insertions(+) create mode 100644 tools/pulsar/docker/README.adoc create mode 100755 tools/pulsar/docker/standalone/pulsar-destroy.sh create mode 100755 tools/pulsar/docker/standalone/pulsar-start.sh create mode 100755 tools/pulsar/docker/standalone/pulsar-stop.sh diff --git a/tools/pulsar/docker/README.adoc b/tools/pulsar/docker/README.adoc new file mode 100644 index 00000000..cc3b9f01 --- /dev/null +++ b/tools/pulsar/docker/README.adoc @@ -0,0 +1,32 @@ +== Docker scripts for Pulsar + +=== Pulsar Standalone +Runs a local standalone Pulsar cluster in Docker. + +* The broker is available at `pulsar://localhost:6650`. +* The admin is available at `http://localhost:8080` +* Two Docker volumes (`pulsardata`, `pulsarconf`) are created to store the data, metadata, and configuration in order to not start "fresh" every time the container is restarted. + + +==== Start +To start the cluster run the following script from project root dir: +[source,shell] +---- +./tools/pulsar/docker/standalone/pulsar-start.sh +---- + +==== Stop +To stop the cluster run the following script from project root dir: +[source,shell] +---- +./tools/pulsar/docker/standalone/pulsar-stop.sh +---- + +==== Destroy +To completely remove the cluster and volumes run the following script from project root dir: +[source,shell] +---- +./tools/pulsar/docker/standalone/pulsar-destroy.sh +---- + +More information can be found in the official https://pulsar.apache.org/docs/next/getting-started-docker[Pulsar docs]. diff --git a/tools/pulsar/docker/standalone/pulsar-destroy.sh b/tools/pulsar/docker/standalone/pulsar-destroy.sh new file mode 100755 index 00000000..7d321fe4 --- /dev/null +++ b/tools/pulsar/docker/standalone/pulsar-destroy.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +echo "Finding and removing Pulsar container..." +docker ps -a | grep "apachepulsar/pulsar" | awk '{print $1}' | xargs docker rm -f +echo "Removing Pulsar volumes..." +docker volume rm pulsardata pulsarconf +echo "All traces of Pulsar standalone removed" diff --git a/tools/pulsar/docker/standalone/pulsar-start.sh b/tools/pulsar/docker/standalone/pulsar-start.sh new file mode 100755 index 00000000..f95ca563 --- /dev/null +++ b/tools/pulsar/docker/standalone/pulsar-start.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +docker run -it -p 6650:6650 -p 8080:8080 \ + --mount source=pulsardata,target=/pulsar/data \ + --mount source=pulsarconf,target=/pulsar/conf \ + apachepulsar/pulsar:2.10.1 \ + bin/pulsar standalone diff --git a/tools/pulsar/docker/standalone/pulsar-stop.sh b/tools/pulsar/docker/standalone/pulsar-stop.sh new file mode 100755 index 00000000..11f7b5ba --- /dev/null +++ b/tools/pulsar/docker/standalone/pulsar-stop.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +echo "Finding and stopping Pulsar container..." +docker ps -a | grep "apachepulsar/pulsar" | awk '{print $1}' | xargs docker stop +echo "Container stopped - you can run 'pulsar-start.sh' when/if you want to restart it"