Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用R客户端连接到Docker XDB?_R_Docker_Docker Compose_Influxdb - Fatal编程技术网

如何使用R客户端连接到Docker XDB?

如何使用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

我正在尝试使用连接到通过Docker在本地启动的流入数据库,以下是YAML文件:

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")