Docker 容器内连接宿主机localhost

昨天有点特殊需求,需要整一个frp(frpc)的容器。这个东西肯定要去连公网的frps,接受外来的请求后转发给内网。然后发现要转发到内网还好,但是要转发到宿主机的localhost时候就有点问题了,翻了一下文档和问答,大概是这样的:

对于Linux上的Docker,可以直接在docker run时指定:

--network="host"

或者在docker-compose.yml中:

network_mode: "host"

这种方式挺适合现在这个应用场景的。

如果是默认的网桥模式,那么可以在容器中访问宿主机对应docker网桥的IP地址。对于Windows或是Mac的Docker(版本18.03之后,据引用中的链接),可以直接连接主机名host.docker.internal

引用:
nginx – From inside of a Docker container, how do I connect to the localhost of the machine? – Stack Overflow
Use host networking | Docker Documentation
Compose file version 3 reference | Docker Documentation
Networking in Compose | Docker Documentation

留下评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

%d 博主赞过: