在Docker中,每个容器都有自己的网络命名空间,这意味着每个容器可以有自己的网络配置,包括端口映射。

如果你想在同一台主机上运行一个绑定(Bind)容器和一个ClearDNS容器,并且它们都需要使用53端口,你可以使用以下两种方法使它们同时工作:

  1. 使用不同的主机端口:

    • 在运行绑定容器时,将其绑定到主机的另一个端口,例如5353端口:
      docker run -d -p 5353:53 bind
      
    • 同样,在运行ClearDNS容器时,将其绑定到主机的另一个端口,例如5354端口:
      docker run -d -p 5354:53 cleardns
      
    • 这样,绑定容器将监听主机的5353端口,而ClearDNS容器将监听主机的5354端口。你可以通过这些端口来访问它们。
  2. 使用Docker的网络功能:

    • 创建一个自定义的Docker网络:
      docker network create mynetwork
      
    • 在此网络中运行绑定容器,将其绑定到53端口:
      docker run -d --net=mynetwork --name=bind --restart=always -p 53:53 bind
      
    • 运行ClearDNS容器,并将其连接到相同的网络,不需要绑定到53端口:
      docker run -d --net=mynetwork --name=cleardns --restart=always cleardns
      
    • 现在,绑定容器和ClearDNS容器都可以通过其容器名称相互通信,因为它们在同一网络中。绑定容器将监听53端口,而ClearDNS容器将使用默认的DNS端口。

以上两种方法都可以让绑定容器和ClearDNS容器同时工作,并且它们都可以使用53端口。你可以根据你的需求选择其中一种

docker中bind容器怎么兼容ClearDNS容器它们好像都要占用53端口具体怎么做才能两者兼得

原文地址: https://www.cveoy.top/t/topic/iBZ0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录