Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
无法更改XDB Docker容器的端口_Docker_Influxdb - Fatal编程技术网

无法更改XDB Docker容器的端口

无法更改XDB Docker容器的端口,docker,influxdb,Docker,Influxdb,作为医生。一位官员表示,我正在创建一个XDB容器,如下所示: docker run --name=influxdb3 -p 8087:8087 influxdb 然而,当我看到它的细节时,我得到: madmin’s-MacBook-Pro:sentinel-be jscherman$ docker container ls CONTAINER ID IMAGE COMMAND CREATED S

作为医生。一位官员表示,我正在创建一个XDB容器,如下所示:

docker run --name=influxdb3 -p 8087:8087 influxdb
然而,当我看到它的细节时,我得到:

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
为什么要使用许多端口?考虑到我从未指定过8086端口,为什么要选择8086端口?此外,如果我尝试向它查询某些内容,我会得到以下结果:

madmin’s-MacBook-Pro:sentinel-be jscherman$ curl -G http://localhost:8087/query --data-urlencode "q=CREATE DATABASE mydb"
curl: (52) Empty reply from server
madmin’s-MacBook-Pro:sentinel-be jscherman$ docker exec -ti influxdb3 /bin/bash
> root@f895d3e35c41:/# influx -port 8087
Failed to connect to http://localhost:8087: Get http://localhost:8087/ping: dial tcp 127.0.0.1:8087: connect: connection refused
Please check your connection settings and ensure 'influxd' is running.
root@f895d3e35c41:/#

我尝试查询一些东西,然后没有得到响应,所以从容器中我尝试连接到8087端口的inflow,正如我前面指定的,但它不存在。有什么概念是我遗漏的吗?正在进行查询吗?为什么在8087端口不存在井侵?

井侵xDB的标准端口是8086(请查看该端口)

如果您想改用端口8087,我认为最简单的方法是像这样开始docker容器:

docker run --name=influxdb3 -p 8087:8086 influxdb

XDB的标准端口是8086(请查看)

如果您想改用端口8087,我认为最简单的方法是像这样开始docker容器:

docker run --name=influxdb3 -p 8087:8086 influxdb

Docker映像通常运行在服务器上。通常,端口号在Docker应用程序或映像中是固定的:例如,提供基于HTTP的服务的服务器可能总是在端口80、8000或8080上提供服务。在XDB的情况下,它的“标准”端口号似乎是8086

当您
docker运行-p
容器时,您可以指定不同的端口号,但必须将其重新映射到服务器正在侦听的容器中的端口号。如果希望主机上的端口8087到达容器中的端口8086,则需要指定

docker run --name=influxdb3 -p 8087:8086 influxdb
仅更改第一个端口号


Dockerfile可以通过
EXPOSE
指令声明服务器将侦听的特定端口。这在实践中没有多大用处–公开的端口不会自动发布到主机,您可以发布未公开的端口–但这就是为什么
docker ps
命令也列出了标准端口号。

docker映像通常运行服务器。通常,端口号在Docker应用程序或映像中是固定的:例如,提供基于HTTP的服务的服务器可能总是在端口80、8000或8080上提供服务。在XDB的情况下,它的“标准”端口号似乎是8086

当您
docker运行-p
容器时,您可以指定不同的端口号,但必须将其重新映射到服务器正在侦听的容器中的端口号。如果希望主机上的端口8087到达容器中的端口8086,则需要指定

docker run --name=influxdb3 -p 8087:8086 influxdb
仅更改第一个端口号


Dockerfile可以通过
EXPOSE
指令声明服务器将侦听的特定端口。这在实践中没有多大用处–公开的端口不会自动发布到主机,您可以发布未公开的端口–但这就是为什么
docker ps
命令也列出了标准端口号。

阅读链接时,所有示例都使用端口8086,而不是8087?这似乎是服务器使用的标准端口?@DavidMaze我不明白,在运行容器时,我不是用-p参数更改了它吗?我是Docker的新手,所以我可能会到处混淆概念。阅读链接,所有示例都使用端口8086,而不是8087?这似乎是服务器使用的标准端口?@DavidMaze我不明白,在运行容器时,我不是用-p参数更改了它吗?我是Docker的新手,所以我可能会到处混淆概念。哦,我明白了。非常感谢!哦,我明白了。非常感谢!