networking - 如何将 Docker 网络暴露给主机?

考虑以下 docker-compose.yml

version: '2'
services:
    serv1:
        build: .
        ports:
          - "8080:8080"
    links:
      - serv2

    serv2:
        image: redis
        ports:
          - "6379:6379"

我将端口转发到主机以管理我的服务,但服务可以简单地使用默认的 docker 网络相互访问。例如,在 serv1 上运行的程序可以访问 redis:6379 并且一些 DNS 魔法将使其工作。我想将我的主机添加到这个网络,以便我可以通过它们的主机名访问容器的端口:端口。

最佳答案

您可以通过在与应用程序位于同一网络的容器中运行 dns 代理(如 dnsmasq)来完成此操作。然后将您的主机 dns 指向容器 ip,您将能够解析主机名,就像您在网络上的容器中一样。

https://github.com/hiroshi/docker-dns-proxy就是一个例子。

https://stackoverflow.com/questions/39070547/

相关文章:

android - 当 Activity 在 Android 中启动时,如何阻止 EditText

android - 如何在 Android 的 ListView 中延迟加载图像

linux - nginx/apache重定向vps上docker容器上的输出端口

docker - 对 docker 的 -i "Keep STDIN open even if no

android - 是否有唯一的 Android 设备 ID?

docker - Dockerfile 中的开发依赖项或用于生产和测试的单独 Dockerfile

android - 如何在 TextView 中水平和垂直居中文本?

android - 如何使用保存实例状态保存 Activity 状态?

android - 为什么安卓模拟器这么慢?我们如何加快Android模拟器的速度?

android - 如何以编程方式关闭/隐藏 Android 软键盘?