无法更改InfluxDB Docker容器的端口

时间:2018-10-26 13:19:56

标签: docker influxdb

作为文档。 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?

2 个答案:

答案 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命令将标准端口号列为“好吧。