Docker is a convenient method to have QuestDB running very quickly via simple commands. You will of course need Docker to be installed on your system. QuestDB has images for Windows, Linux and ARM64 Linux as well as manifest to automatically download correct image for your target architecture.
Using Docker means QuestDB will be running in a virtualized environment with up to 20% performance penalty.
You can find our docker repository here.
- Linux ARM64
Pulling the image
docker pull questdb/questdb
docker pull questdb/questdb:4.2.1
Using the image
You can use the Docker image in two ways:
The interactive sandbox will create a container on the fly and start it. Once stopped, the container will be removed and the data deleted.
Ports & security
QuestDB requires that you open ports to allow for interactions with the HTTP server and the Postgres wire. If you do not want to open either of these ports, you can alter the port options. However doing so may limit your interaction with QuestDB.
Run as a container
Create a container
docker create --name questdb -p 9000:9000 -p 8812:8812 questdb/questdb
If you would like to use a specific release tag, you can specify it as follows when creating the container:
docker create --name questdb -p 9000:9000 -p 8812:8812 questdb/questdb:4.2.1
||Name of your container. e.g
||Allows Docker to expose a port e.g
||Specify a path where QuestDB will save your data directly on the host machine e.g
-p 9000:9000opens port 9000 for the HTTP API and the web console. The web console is available on localhost:9000.
-p 8812:8812opens port 8812 for the PostgresSQL wire protocol.
The questdb root_directory will be in the following locations.
Start the container
docker start questdb
Stop the container
docker stop questdb
docker logs questdb
Remove a container
docker rm questdb
Run as an interactive sandbox
You can run the container as an interactive sandbox with the
Differences compared to running a container
- You do not need to create the container beforehand: it will be created on the fly.
- Logs will be displayed in the shell window.
- The container and all the data will be deleted when the container stops.
Start the sandbox
docker run --rm -it -p 9000:9000 -p 8812:8812 questdb/questdb
Stop the sandbox
As the process will be running in shell, you can
CTRL + C to stop it.
Log into the container
You can log into the container and interact using
cmd (if your container is windows-based) or
(if your container is linux-based). If you are using a MacOS or linux machine, this will also be
bash. If you
are using a Windows machine, it could be either
bash depending on what type of container you
On Linux containers
docker exec -i questdb bash
On Windows containers
docker exec -i questdb cmd
Once logged in, you can run commands into the container's VM.