作为文档。 InfluxDB image的官方表示,我正在按以下方式创建InfluxDB容器:
https://github.com/aws/aws-sdk-php-laravel
https://github.com/baopham/laravel-dynamodb
https://github.com/laravelista/lumen-vendor-publish
但是,当我看到其详细信息时,我得到:
docker run --name=influxdb3 -p 8087:8087 influxdb
为什么要使用许多端口?鉴于我从未指定端口8086,为什么要这么做呢?此外,如果我尝试查询某些内容,则会得到以下信息:
madmin’s-MacBook-Pro:sentinel-be jscherman$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f895d3e35c41 influxdb "/entrypoint.sh infl…" 9 seconds ago Up 7 seconds 8086/tcp, 0.0.0.0:8087->8087/tcp influxdb3
我尝试查询某些内容,但没有任何反应,因此从容器中尝试连接到端口8087的流入,如我之前指定的那样,但它不存在。有什么我想念的概念吗?查询完成了吗?为什么在8087端口不存在Influx?
答案 0 :(得分:1)
InfluxDB的标准端口是8086(请看documentation)。
如果您想改用端口8087,我认为最简单的方法就是像这样开始docker容器:
docker run --name=influxdb3 -p 8087:8086 influxdb
答案 1 :(得分:1)
Docker映像通常运行服务器。端口号通常在Docker应用程序或映像中是固定的:例如,提供基于HTTP服务的服务器可能总是在端口80或8000或8080上为其提供服务。对于InfluxDB,看起来它的“标准”端口号是8086。
docker run -p
容器时,可以指定其他端口号,但是必须将其重新映射到服务器正在侦听的容器中的端口号。如果要使主机上的端口8087到达容器中的端口8086,请指定
docker run --name=influxdb3 -p 8087:8086 influxdb
仅更改第一个端口号。
Dockerfile可以通过EXPOSE
指令声明服务器将侦听哪些特定端口。实际上,这不是很有用-公开的端口不会自动发布到主机,您可以发布未公开的端口-但这就是docker ps
命令将标准端口号列为“好吧。