如何使用R客户端连接到Docker XDB?
我正在尝试使用连接到通过Docker在本地启动的流入数据库,以下是YAML文件:如何使用R客户端连接到Docker XDB?,r,docker,docker-compose,influxdb,R,Docker,Docker Compose,Influxdb,我正在尝试使用连接到通过Docker在本地启动的流入数据库,以下是YAML文件: version: "3.7" services: influxdb: image: influx ports: - "8086:8086" - "8083:8083" environment: - INFLUX_DBNAME=exampledb volumes: - /Users/<user>/Desktop/influ
version: "3.7"
services:
influxdb:
image: influx
ports:
- "8086:8086"
- "8083:8083"
environment:
- INFLUX_DBNAME=exampledb
volumes:
- /Users/<user>/Desktop/influxdb/pv:/var/lib/influxdb
- /Users/<user>/Desktop/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf:ro
deploy:
replicas: 1
restart_policy:
condition: on-failure
test:
build: ./test
image: test:latest
environment:
- INFLUX_ADDR=influxdb
- INFLUX_PORT=8086
- INFLUX_DBNAME=exampledb
- INFLUX_TBLNAME=exampletbl
depends_on:
- influxdb
deploy:
replicas: 1
restart_policy:
condition: on-failure
我修改了influxdb.conf文件,并添加了一个名为admin的组:
[http]
enabled = true
bind-address = ":8086"
auth-enabled = true
当我尝试在R cli(或测试容器中的R程序)中建立连接时,如下所示:
>library(influxdbr)
>influx_conn <- influx_connection(host='influxdb', port=8086, user='admin', pass='admin')
>库(XDBR)
>我猜“美国包文件”的意思是“见包文件”。虽然是非标准的(我可能期望“c.f.”或只是“见”),但从上下文来看,它似乎最有意义。我不知道在浏览文档的基础上还有什么。啊,是的,但是文档显示了相同的连接信息…方案、主机、端口、用户、通道、路径,但是con仍然不起作用!我要编辑我的问题!您尝试连接到localhost
。从程序的角度来看,XDB未在本地主机上运行。这将是同一个容器(或豆荚,在库伯内特斯)。将主机参数更改为influxdb
,您应该不会有问题。此外,您不需要手动设置网络。默认情况下,Compose会为您执行此操作。您将测试的环境变量设置为正确的值-我建议您使用em;)我删除了网络,尝试使用配置文件中的环境变量和组,但仍然收到相同的错误。
>library(influxdbr)
>influx_conn <- influx_connection(host='influxdb', port=8086, user='admin', pass='admin')
<HTML><HEAD>
<TITLE>Access Denied</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Access Denied (authentication_failed)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your credentials could not be authenticated: "Credentials are missing.". You will not be permitted access until your credentials can be verified.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
This is typically caused by an incorrect username and/or password, but could also be caused by network problems.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>
[admin]
scheme="http"
host="influxdb"
port=8086
user="admin"
pass="admin"
path="/"
# create connection object
# (here: based on a config file with group "admin" in it (s. package documentation))
con <- influx_connection(group = "admin")