QuestDB在Docker Hub上有Linux/macOS和Windows的镜像。
在我们开始之前,您需要安装Docker。您可以在官方文档中找到有关平台的指南。
一旦安装了Docker,你需要从Docker Hub中提取QuestDB的镜像并创建一个容器。你可以使用docker run在一个命令中完成这两个操作:
docker run -p 9000:9000 \
-p 9009:9009 \
-p 8812:8812 \
-p 9003:9003 \
questdb/questdb
Argument | Description |
---|---|
-p | Port to publish to the host |
-v | To bind mount a volume |
- p 参数
该参数将发布一个端口到主机,你可以指定:
-p 9000:9000
- REST API and Web Console-p 9009:9009
- InfluxDB line protocol-p 8812:8812
- Postgres wire protocol-p 9003:9003
- Min health server- v 卷
QuestDB的 root_directory 将位于以下位置:
Linux | /root/.questdb |
Windows | C:\questdb |
容器状态
你可以通过 docker ps 查看你的容器状态,它还列出了我们发布的端口:
docker ps
现在QuestDB正在运行,你可以开始与它交互了:
卷可以挂载到QuestDB Docker容器,以便数据可以持久化或服务器配置设置可以传递给实例。下面的例子演示了如何在Docker run 命令中使用 -v 标志将当前目录挂载到一个QuestDB容器中:
docker run -p 9000:9000 \
-p 9009:9009 \
-p 8812:8812 \
-p 9003:9003 \
-v "$(pwd):/root/.questdb/" questdb/questdb
然后,当前目录将数据持久化到磁盘,以方便迁移或备份:
Current directory contents |
├── conf │ └── server.conf ├── db └── public |
关于将QuestDB服务器设置传递到Docker容器的详细信息,请参见服务器配置文档中的Docker部分。
当将一个卷挂载到Docker容器时,日志配置文件可能会在 /conf/log.conf 容器中提供:
Current directory contents |
└── conf ├── log.conf └── server.conf |
例如,可以创建一个包含以下内容的文件:
./conf/log.conf |
# list of configured writers # file writer # stdout # min http server, used monitoring |
当前目录可以挂载:
Mounting the current directory to a QuestDB container |
docker run -p 9000:9000 \ -p 9009:9009 \ -p 8812:8812 \ -p 9003:9003 \ -v "$(pwd):/root/.questdb/" questdb/questdb |
容器日志将使用 conf/log.conf 文件中提供的日志级别和文件名写入磁盘。可以在 ./questdb-docker.log 中查看日志:
Current directory tree |
├── conf │ ├── log.conf │ └── server.conf ├── db │ ├── table1 │ └── table2 ├── public │ ├── ui / assets │ ├── ... │ └── version.txt └── questdb-docker.log |
有关日志记录的更多信息,请参阅配置参考文档。
运行以下命令将为QuestDB映像创建一个新的容器:
docker run -p 9000:9000 \
-p 9009:9009 \
-p 8812:8812 \
-p 9003:9003 \
questdb/questdb
通过给容器命名 --name container_name,我们有一个简单的方法来引用稍后由run创建的容器:
docker run -p 9000:9000 \
-p 9009:9009 \
-p 8812:8812 \
-p 9003:9003 \
--name docker_questdb \
questdb/questdb
如果我们想在这个容器停止后再使用它和它的数据,我们可以使用以下命令:
# bring the container up
docker start docker_questdb
# shut the container down
docker stop docker_questdb
或者,用户可以通过'docker ps'获取运行容器的ID,并使用 UUID短标识符 重新启动它:
Starting a container by ID |
docker start dd363939f261 |