QuestDB has images for both Linux/macOS and Windows on Docker Hub.
Install Docker
Before we start, you will need to install Docker. You can find guides for your platform on the official documentation.
QuestDB image
Once Docker is installed, you will need to pull QuestDB’s image from Docker Hub and create a container. You can do both in one command using docker run
:
docker run -p 9000:9000 -p 8812:8812 questdb/questdb
Options
Argument | Description |
---|---|
-p | Port to publish to the host |
-v | To bind mount a volume |
-p
parameter
This parameter will publish a port to the host, you can specify:
-p 9000:9000
: REST API and Web Console-p 8812:8812
: Postgres-p 9009:9009
: InfluxDB line protocol
-v volumes
The QuestDB root_directory will be in the following location:
import Tabs from “@theme/Tabs” import TabItem from “@theme/TabItem”
<Tabs defaultValue=”linux” values={[ { label: “Linux”, value: “linux” }, { label: “Windows”, value: “windows” }, ]}>
/root/.questdb/db
C:\questdb\db
Container status
You can check the status of your container with docker ps. It also lists the ports we published:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
dd363939f261 questdb/questdb "/app/bin/java -m io…" 3 seconds ago Up 2 seconds 8812/tcp, 9000/tcp frosty_gauss
Importing data and sending queries
Now that QuestDB is running, you can start interacting with it:
- If you published the port
9000
, you can follow our REST page - If you published the port
8812
, follow our Postgres page - If you published the port
9009
, follow our InfluxDB page
Data persistence
Restart an existing container
When you stop the container, it will not be removed by Docker. This means that you can restart it anytime and your data will be accessible:
docker start dd363939f261
Re-run docker run
If you re-run the command:
docker run -p 9000:9000 -p 8812:8812 questdb/questdb
A new container will be created for the QuestDB image. This means that the container will be fresh, any data you may have created previously won’t be accessible.