无法从 windows 访问 Docker 容器网址 (172.17.0.2)
Can't access Docker container web address (172.17.0.2) from windows
我正在使用 docker 桌面,我已将 prometheus 作为容器运行:
commande docker inspect 显示此容器 运行 在端口 9090 上的网关 172.17.0.2 上。
“网络”:{
“桥”: {
“IPAMConfig”:空,
“链接”:空,
“别名”:空,
“网络 ID”:“a112bcf4dbabbfdb5b3e14c9d286469a482557c78d42854a5ae3e754ca44fd5d”,
“端点 ID”:“0ecc79513b555daebb51947a6a6a73bb26f0974542a6f79d14013b8b1572a589”,
“网关”:“172.17.0.1”,
"IP 地址": "172.17.0.2",
“IPPrefixLen”:16,
"IPv6网关": "",
"GlobalIPv6Address": "",
“GlobalIPv6PrefixLen”:0,
"MacAddress": "02:42:ac:11:00:02",
“DriverOpts”:空
}
}
但是当我的浏览器无法访问此地址时。
谁能帮忙
没错:您无法访问 Windows 主机上的 docker inspect
IP 地址。你也不能从 MacOS 主机访问它,如果你的 Docker 更明确地在虚拟机中(使用 Docker 工具箱或像 Minikube 这样的工具用于你的 Docker 环境),或者如果您从容器中的不同主机调用。这个 IP 地址几乎从来没有用过,你根本不需要查找它。
当您启动一个容器时,您可以选择 publish ports 从它开始。如果 Prometheus 通常在端口 9000 上侦听,这可能看起来像
docker run \
-d \ # in the background
--name prometheus \ # with a name so it's easier to manage
-p 9123:9000 \ # host port 9123 -> container port 9000
bitnami/prometheus
第二个端口号必须与图像预期的完全匹配。第一个端口号可以是任何未被使用的端口号。端口通常相同但不必相同。
一旦有了这个docker run -p
选项,就可以使用第一个端口号访问容器; http://localhost:9123
如果您在同一台主机上(并且没有使用 Docker 工具箱或类似的 VM-based 设置)。
如果您没有此选项,docker stop
和 docker rm
现有容器以及 docker run
具有正确设置的新容器。这是非常常规的,非常类似于使用 Ctrl+C 停止 command-line 进程然后 运行 它不同的 command-line 个参数。
我正在使用 docker 桌面,我已将 prometheus 作为容器运行:
commande docker inspect 显示此容器 运行 在端口 9090 上的网关 172.17.0.2 上。
“网络”:{ “桥”: { “IPAMConfig”:空, “链接”:空, “别名”:空, “网络 ID”:“a112bcf4dbabbfdb5b3e14c9d286469a482557c78d42854a5ae3e754ca44fd5d”, “端点 ID”:“0ecc79513b555daebb51947a6a6a73bb26f0974542a6f79d14013b8b1572a589”, “网关”:“172.17.0.1”, "IP 地址": "172.17.0.2", “IPPrefixLen”:16, "IPv6网关": "", "GlobalIPv6Address": "", “GlobalIPv6PrefixLen”:0, "MacAddress": "02:42:ac:11:00:02", “DriverOpts”:空 } }
但是当我的浏览器无法访问此地址时。
谁能帮忙
没错:您无法访问 Windows 主机上的 docker inspect
IP 地址。你也不能从 MacOS 主机访问它,如果你的 Docker 更明确地在虚拟机中(使用 Docker 工具箱或像 Minikube 这样的工具用于你的 Docker 环境),或者如果您从容器中的不同主机调用。这个 IP 地址几乎从来没有用过,你根本不需要查找它。
当您启动一个容器时,您可以选择 publish ports 从它开始。如果 Prometheus 通常在端口 9000 上侦听,这可能看起来像
docker run \
-d \ # in the background
--name prometheus \ # with a name so it's easier to manage
-p 9123:9000 \ # host port 9123 -> container port 9000
bitnami/prometheus
第二个端口号必须与图像预期的完全匹配。第一个端口号可以是任何未被使用的端口号。端口通常相同但不必相同。
一旦有了这个docker run -p
选项,就可以使用第一个端口号访问容器; http://localhost:9123
如果您在同一台主机上(并且没有使用 Docker 工具箱或类似的 VM-based 设置)。
如果您没有此选项,docker stop
和 docker rm
现有容器以及 docker run
具有正确设置的新容器。这是非常常规的,非常类似于使用 Ctrl+C 停止 command-line 进程然后 运行 它不同的 command-line 个参数。