Single-node cluster with Docker
First provision TigerBeetle's data directory.
docker run -v $(pwd)/data:/data ghcr.io/tigerbeetle/tigerbeetle \
format --cluster=0 --replica=0 --replica-count=1 /data/0_0.tigerbeetle
info(io): creating "0_0.tigerbeetle"...
info(io): allocating 660.140625MiB...
Then run the server.
docker run -p 3000:3000 -v $(pwd)/data:/data ghcr.io/tigerbeetle/tigerbeetle \
start --addresses=0.0.0.0:3000 /data/0_0.tigerbeetle
info(io): opening "0_0.tigerbeetle"...
info(main): 0: cluster=0: listening on 0.0.0.0:3000
Connect with the CLI
Now you can connect to the running server with any client. For a quick start, try creating accounts and transfers using the TigerBeetle CLI client.
error: SystemResources
on macOS
If you get error: SystemResources
when running TigerBeetle in Docker
on macOS, you will need to do one of the following:
- Run
docker run
with--cap-add IPC_LOCK
- Run
docker run
with--ulimit memlock=-1:-1
- Or modify the defaults in
$HOME/.docker/daemon.json
and restart the Docker for Mac application:
{
... other settings ...
"default-ulimits": {
"memlock": {
"Hard": -1,
"Name": "memlock",
"Soft": -1
}
},
... other settings ...
}
See https://github.com/tigerbeetle/tigerbeetle/issues/92 for discussion.
Debugging panics
If TigerBeetle panics and you can reproduce the panic, you can get a
better stack trace by switching to a debug image (by using the :debug
Docker image tag).
docker run -p 3000:3000 -v $(pwd)/data:/data ghcr.io/tigerbeetle/tigerbeetle:debug \
start --addresses=0.0.0.0:3000 /data/0_0.tigerbeetle