Standalone Docker image embedding NATS next to Liftbridge for development and testing.
50K+
WARNING: This container is intended for testing and/or development purposes!
Liftbridge provides lightweight, fault-tolerant message streams by implementing a durable stream augmentation for the NATS messaging system.
This is the source code of the Docker image embedding NATS next to Liftbridge. The image is available on Docker Hub here.
Using the container can be done like this:
$ docker pull liftbridge/standalone-dev
$ docker run -d --name=liftbridge-main -p 4222:4222 -p 9292:9292 -p 8222:8222 -p 6222:6222 liftbridge/standalone-dev
This will bootup the container and start both the NATS and Liftbridge servers. We can check the logs to see if the container booted properly:
$ docker logs liftbridge-main
[6] 2019/08/21 11:26:09.366043 [INF] Starting nats-server version 2.0.4
[6] 2019/08/21 11:26:09.366094 [INF] Git commit [not set]
[6] 2019/08/21 11:26:09.366274 [INF] Starting http monitor on 0.0.0.0:8222
[6] 2019/08/21 11:26:09.366333 [INF] Listening for client connections on 0.0.0.0:4222
[6] 2019/08/21 11:26:09.366354 [INF] Server id is NAI5VLHK3IWC5ENOS3HARMNGZTWNRLXQCYPHTKNXXCGW5EJWR4JXCNVZ
[6] 2019/08/21 11:26:09.366358 [INF] Server is ready
[6] 2019/08/21 11:26:09.366761 [INF] Listening for route connections on 0.0.0.0:6222
time="2019-08-21 11:26:14" level=info msg="Server ID: MSQaSobS9afF1aN4E8oTIJ"
time="2019-08-21 11:26:14" level=info msg="Namespace: liftbridge-default"
time="2019-08-21 11:26:14" level=info msg="Retention Policy: [Age: 1 week, Compact: false]"
time="2019-08-21 11:26:14" level=info msg="Starting server on :9292..."
time="2019-08-21 11:26:15" level=info msg="Server became metadata leader, performing leader promotion actions"
Optionally you can specify the mount point with:
--volume=/tmp/host/liftbridge:/tmp/liftbridge/liftbridge-default
Liftbridge server exposes:
NATS server exposes:
# Client port of 4222 on all interfaces
port: 4222
# HTTP monitoring port
monitor_port: 8222
# This is for clustering multiple servers together.
cluster {
# Route connections to be received on any interface on port 6222
port: 6222
# Routes are protected, so need to use them with --routes flag
# e.g. --routes=nats-route://ruser:T0pS3cr3t@otherdockerhost:6222
authorization {
user: ruser
password: T0pS3cr3t
timeout: 0.75
}
# Routes are actively solicited and connected to from this server.
# This Docker image has none by default, but you can pass a
# flag to the nats-server docker image to create one to an existing server.
routes = []
}
Go to the root directory of the Liftbridge source code and run:
$ make build-dev
$ docker build -t liftbridge/standalone-dev -f docker/dev-image/Dockerfile .
Content type
Image
Digest
sha256:c900662bc…
Size
18.1 MB
Last updated
over 2 years ago
docker pull liftbridge/standalone-dev