安装和运行 InfluxDB 3 Explorer
使用 Docker 安装和运行 InfluxDB 3 Explorer。
快速入门
在几分钟内运行 Explorer
运行 Explorer 容器
docker run --detach \ --name influxdb3-explorer \ --publish 8888:80 \ influxdata/influxdb3-ui:1.4.0在 https://:8888 访问 Explorer UI
安装方法
前提条件
如果您还没有安装 Docker 或 Docker Desktop,请先安装。
基本设置
要获取最新更新,请在启动容器之前运行以下命令:
docker pull influxdata/influxdb3-ui:1.4.0docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
ports:
- "8888:80"
volumes:
- ./config:/app-root/config:ro
restart: unless-stopped启动容器
docker-compose up -d生产环境设置
用于生产部署,支持持久化、管理员模式和自动镜像更新。
docker run --detach \
--name influxdb3-explorer \
--pull always \
--publish 8888:80 \
--volume $(pwd)/db:/db:rw \
--volume $(pwd)/config:/app-root/config:ro \
--env SESSION_SECRET_KEY=$(openssl rand -hex 32) \
--restart unless-stopped \
influxdata/influxdb3-ui:1.4.0 \
--mode=admin# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
pull_policy: always
command: ["--mode=admin"]
ports:
- "8888:80"
volumes:
- ./db:/db:rw
- ./config:/app-root/config:ro
- ./ssl:/etc/nginx/ssl:ro
environment:
SESSION_SECRET_KEY: ${SESSION_SECRET_KEY:-changeme123456789012345678901234}
restart: unless-stopped创建一个 .env 文件,其中包含以下内容:
SESSION_SECRET_KEY=your_32_char_hex_string_here启动容器
docker-compose up -d配置选项
跨重启持久化数据
InfluxDB 3 Explorer 将应用程序数据存储在 SQLite 数据库中。要跨容器重启持久化这些数据,请执行以下操作:
创建本地目录
mkdir -m 700 ./db在运行容器时挂载该目录
docker run --detach \ --name influxdb3-explorer \ --publish 8888:80 \ --volume $(pwd)/db:/db:rw \ influxdata/influxdb3-ui:1.4.0version: '3.8' services: explorer: image: influxdata/influxdb3-ui:1.4.0 container_name: influxdb3-explorer ports: - "8888:80" volumes: - ./db:/db:rw restart: unless-stopped
如果没有挂载 ./db 目录,删除容器时应用程序数据将会丢失。
预配置 InfluxDB 连接
您可以通过 config.json 文件预定义连接设置,而不是通过 UI 进行配置。这对于以下情况很有用:
- 自动化部署
- 共享团队配置
- 已知环境的快速设置
创建一个
config.json文件mkdir -p config cat > config/config.json << 'EOF' { "DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181", "DEFAULT_INFLUX_DATABASE": "mydb", "DEFAULT_API_TOKEN": "your-token-here", "DEFAULT_SERVER_NAME": "Local InfluxDB 3" } EOF自定义以下属性以匹配您的 InfluxDB 3 实例:
DEFAULT_INFLUX_SERVER:您的 InfluxDB 3 Core 或 Enterprise 服务器 URL。DEFAULT_INFLUX_DATABASE:您的 InfluxDB 3 Core 或 Enterprise 数据库的名称。DEFAULT_API_TOKEN:您具有必要权限以访问服务器的 InfluxDB 3 Core 或 Enterprise 授权令牌。DEFAULT_SERVER_NAME:一个供 Explorer 显示的名称(仅用于 Explorer),对应您的 InfluxDB 3 Core 或 Enterprise 服务器。
何时使用
host.docker.internal如果您的 InfluxDB 3 实例正在 Docker 中运行(不是与 Explorer 在同一个容器中),请使用
host.docker.internal作为服务器主机,以允许 Explorer 容器连接到主机上的 InfluxDB 容器。例如:"DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181"- 如果 Explorer 和 InfluxDB 在同一个 Docker 网络中,请使用容器名称代替。
- 如果 InfluxDB 在您的机器上本地运行(不在 Docker 中),请使用
localhost。
有关更多信息,请参阅 Docker 网络文档。
挂载配置目录
docker run --detach \ --name influxdb3-explorer \ --publish 8888:80 \ --volume $(pwd)/config:/app-root/config:ro \ influxdata/influxdb3-ui:1.4.0version: '3.8' services: explorer: image: influxdata/influxdb3-ui:1.4.0 container_name: influxdb3-explorer ports: - "8888:80" volumes: - ./config:/app-root/config:ro restart: unless-stopped
启用 TLS/SSL (HTTPS)
要为安全连接启用 TLS/SSL,请执行以下操作:
创建 SSL 目录并添加证书文件
mkdir -m 755 ./ssl # Copy your certificate files to the ssl directory cp /path/to/server.crt ./ssl/ cp /path/to/server.key ./ssl/必需文件
- 证书:
server.crt或fullchain.pem - 私钥:
server.key
- 证书:
运行启用 SSL 的容器
docker run --detach \ --name influxdb3-explorer \ --publish 8888:443 \ --volume $(pwd)/ssl:/etc/nginx/ssl:ro \ influxdata/influxdb3-ui:1.4.0version: '3.8' services: explorer: image: influxdata/influxdb3-ui:1.4.0 container_name: influxdb3-explorer ports: - "8888:443" volumes: - ./ssl:/etc/nginx/ssl:ro restart: unless-stopped在 https://:8888 访问 Explorer UI
Nginx Web 服务器会自动检测并使用挂载路径中的证书文件。
TLS 和证书验证选项
使用以下环境变量配置 TLS 和证书验证:
NODE_EXTRA_CA_CERTS- 容器内自定义 CA 证书文件的路径(推荐)。此选项会将中间或自定义 CA 证书添加到 Node.js 受信任证书存储中,当 InfluxDB 使用由内部或私有 CA 签名的证书时是必需的。
- 格式:PEM 格式证书文件
- 示例:
-e NODE_EXTRA_CA_CERTS=/ca-certs/ca-bundle.crt
这是 Node.js 用于自定义 CA 的原生环境变量。
CA_CERT_PATH-NODE_EXTRA_CA_CERTS的替代项(便捷别名)- 示例:
-e CA_CERT_PATH=/ca-certs/ca-bundle.crt
使用
NODE_EXTRA_CA_CERTS或CA_CERT_PATH;不要同时使用。CA_CERT_PATH是NODE_EXTRA_CA_CERTS的别名。- 示例:
使用自签名证书
配置 Explorer 以信任自签名或自定义 CA 证书,以便连接到 InfluxDB:
创建 CA 证书目录
mkdir -p ./ca-certs将您的 CA 证书复制到目录中
cp /path/to/your-ca.pem ./ca-certs/挂载 CA 证书目录并设置
NODE_EXTRA_CA_CERTS环境变量
选择操作模式
InfluxDB 3 Explorer 支持两种操作模式:
- 查询模式(默认):只读 UI,用于查询数据。
- 管理员模式:完整的 UI,具备管理员功能。
使用 --mode 参数设置模式。
# Query mode (default)
docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0 \
--mode=query
# Admin mode
docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0 \
--mode=adminversion: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
# For query mode (default), omit the command
# For admin mode, add:
command: ["--mode=admin"]
ports:
- "8888:80"
restart: unless-stopped高级配置
环境变量
| 变量 | 默认 | 描述 |
|---|---|---|
SESSION_SECRET_KEY | (随机) | 用于会话管理的密钥。在生产环境中设置此项以跨重启持久化会话。 |
DATABASE_URL | /db/sqlite.db | 容器内 SQLite 数据库的路径 |
SSL_CERT_PATH | /etc/nginx/ssl/cert.pem | SSL 证书文件的路径 |
SSL_KEY_PATH | /etc/nginx/ssl/key.pem | SSL 私钥文件的路径 |
NODE_EXTRA_CA_CERTS | (无) | 自定义 CA 证书文件(PEM 格式)的路径,用于信任自签名或内部 CA 证书。 |
CA_CERT_PATH | (无) | NODE_EXTRA_CA_CERTS 的别名 |
始终在生产环境中设置 SESSION_SECRET_KEY 以跨容器重启持久化用户会话。运行以下命令生成一个安全的密钥:
openssl rand -hex 32卷(Volume)参考
| 容器路径 | 用途 | 权限 | 必需 |
|---|---|---|---|
/db | SQLite 数据库存储 | 700 | 否(但推荐) |
/app-root/config | 连接配置 | 755 | 否 |
/etc/nginx/ssl | TLS/SSL 证书 | 755 | 仅用于 HTTPS |
/ca-certs | 自定义 CA 证书 | 755 | 仅用于自签名证书 |
端口参考
| 容器端口 | 协议 | 用途 | 常见主机映射 |
|---|---|---|---|
| 80 | HTTP | Web UI (未加密) | 8888 |
| 443 | HTTPS | Web UI (加密) | 8888 |
完整示例
生产环境设置(所有功能)
# Create required directories
mkdir -m 700 ./db
mkdir -m 755 ./config ./ssl
# Generate session secret
export SESSION_SECRET=$(openssl rand -hex 32)
# Create configuration
cat > config/config.json << 'EOF'
{
"DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181",
"DEFAULT_INFLUX_DATABASE": "production",
"DEFAULT_API_TOKEN": "your-production-token",
"DEFAULT_SERVER_NAME": "Production InfluxDB 3"
}
EOF
# Run Explorer with all features
docker run --detach \
--name influxdb3-explorer \
--pull always \
--publish 8888:443 \
--volume $(pwd)/db:/db:rw \
--volume $(pwd)/config:/app-root/config:ro \
--volume $(pwd)/ssl:/etc/nginx/ssl:ro \
--env SESSION_SECRET_KEY=$SESSION_SECRET \
--restart unless-stopped \
influxdata/influxdb3-ui:1.4.0 \
--mode=admin# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
pull_policy: always
command: ["--mode=admin"]
ports:
- "8888:443"
volumes:
- ./db:/db:rw
- ./config:/app-root/config:ro
- ./ssl:/etc/nginx/ssl:ro
environment:
SESSION_SECRET_KEY: ${SESSION_SECRET_KEY}
restart: unless-stopped创建一个 .env 文件,其中包含以下内容:
SESSION_SECRET_KEY=your_32_char_hex_string_here启动容器
docker-compose up -d开发环境设置(最小化)
docker run --rm \
--name influxdb3-explorer \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
ports:
- "8888:80"此页面是否有帮助?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一员!我们欢迎并鼓励您对 InfluxDB 3 Explorer 和本文档提供反馈和错误报告。要查找支持,请使用以下资源:
具有年度合同或支持合同的客户可以 联系 InfluxData 支持。