栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

本地主机在Docker容器中是什么意思?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

本地主机在Docker容器中是什么意思?

从容器内部开始

localhost
始终引用当前容器。它永远不会引用另一个容器,也永远不会引用物理系统中运行的不在同一容器中的任何其他内容。建立与数据库主机的出站连接
localhost
或将其配置
localhost
为数据库主机通常没有用。

从主机系统上的Shell中

localhost
可以指代在Docker之外的系统上运行的守护程序,或者指代您已使用
docker run-p
选件发布的端口。

在不同的系统中

localhost
是指从其调用的系统。

就IP地址而言

localhost
始终为127.0.0.1,并且该IP地址是特殊的,并且始终
localhost
且其行为与上述相同。


如果要连接到容器…

…从另一个容器中 ,最好的方法是确保它们位于相同的Docker网络上(您是从相同的Docker Compose
YAML文件启动的;您在同一网络上执行了

docker network create
,然后又
docker run --net...
在同一网络上进行了操作)并使用Docker的内部DNS服务可以通过
--name
Docker Compose
YAML文件中的容器名称或容器内部的端口号来引用它们。即使目标具有已发布的带有
docker run -p
选项或Docker Compose
ports:
设置的端口,也要使用 第二个 (容器内部的)端口号。

…从Docker空间外部 ,确保您使用

docker run -p
或Docker Compose
ports:
选项启动了容器,并使用该选项中的第一个端口号连接到 主机的 IP地址或DNS名称。

…从同一物理主机上的终端窗口或浏览器而 不是在容器中,在这种情况下(仅在这种情况下)

localhost
将一致地工作。


除了:

如果您使用来启动容器

--net host
,则
localhost
指的是物理主机,并且您处于“同一物理主机上的终端窗口”场景中。

如果您不愿意在同一个容器中拥有多个服务器,则可以使用

localhost
它们之间进行通信。

如果您在Kubernetes中运行,并且同一容器中有多个容器,则可以使用

localhost
它们在它们之间进行通信。在Pod之间,您应该在每个Pod
/部署之前设置服务,并使用形式的DNS名称
service-name.namespace-name.svc.cluster.local



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/394215.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号