docker中bind容器怎么兼容ClearDNS容器它们好像都要占用53端口具体怎么做才能两者兼得
在Docker中,每个容器都有自己的网络命名空间,这意味着每个容器可以有自己的网络配置,包括端口映射。
如果你想在同一台主机上运行一个绑定(Bind)容器和一个ClearDNS容器,并且它们都需要使用53端口,你可以使用以下两种方法使它们同时工作:
-
使用不同的主机端口:
- 在运行绑定容器时,将其绑定到主机的另一个端口,例如5353端口:
docker run -d -p 5353:53 bind - 同样,在运行ClearDNS容器时,将其绑定到主机的另一个端口,例如5354端口:
docker run -d -p 5354:53 cleardns - 这样,绑定容器将监听主机的5353端口,而ClearDNS容器将监听主机的5354端口。你可以通过这些端口来访问它们。
- 在运行绑定容器时,将其绑定到主机的另一个端口,例如5353端口:
-
使用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端口。
- 创建一个自定义的Docker网络:
以上两种方法都可以让绑定容器和ClearDNS容器同时工作,并且它们都可以使用53端口。你可以根据你的需求选择其中一种
原文地址: https://www.cveoy.top/t/topic/iBZ0 著作权归作者所有。请勿转载和采集!