【发布时间】:2021-09-01 01:54:11
【问题描述】:
我有一个简单的 python 脚本来从安装在本地系统中的 InfluxDB 中的表中获取数据。 deviceStatus.py脚本如图所示
import time
import sys
import influxdb
from influxdb import InfluxDBClient
client = InfluxDBClient(host='localhost', port=8086)
client.switch_database('deviceConfiguration')
results = client.query('SELECT (*) FROM "autogen"."FactoryConfig"')
points = results.get_points()
for point in points:
print(point['Connection'])
此脚本运行没有任何错误,并从 FactoryConfig 表中打印 IP 地址(连接)。
现在我想用它创建一个 docker 镜像。我写了一个看起来像这样的Dockerfile
FROM python:3.10.0b2-buster
WORKDIR /usr/src/app
COPY deviceStatus.py .
RUN pip install influxdb
CMD ["python", "./deviceStatus.py"]
此文件编译并创建一个名为 devicestatus 的 docker 映像。现在,当我尝试使用
运行图像时sudo docker run devicestatus
它在第 8 行显示一个错误并抱怨它无法建立新连接:[Errno 111] Connection denied
File "/usr/src/app/./deviceStatus.py", line 8, in <module>
results= client.query('SELECT (*) FROM "autogen"."FactoryConfig"')
我想这与端口有关。如果这是问题,我无法理解如何公开端口。我需要有关此问题的帮助。
提前致谢。
干杯, 标清
【问题讨论】:
标签: docker containers influxdb influxdb-python