小编Ing*_*dau的帖子

如何从外部访问Weave DNS-Server?

我在Docker-Swarm上使用Weave网络插件.

我创建了一个具有特定IP范围的docker网络,与我从内部网络路由的默认Weave网络不同.

为了使容器更易于访问,我使用weave附加DNS名称,如containername.auto.mycompany.de.现在我想访问我公司的网络.问题是,编织只允许从本地主机访问编织DNS.

就像在我的一个swarm节点上一样,我可以这样做:

host foobar.auto.mycompany.de 172.17.0.1
Using domain server:
Name: 172.17.0.1
Address: 172.17.0.1#53
Aliases: 

foobar.auto.mycompany.de has address 10.40.13.3
Host foobar.auto.mycompany.de not found: 3(NXDOMAIN)
Host foobar.auto.mycompany.de not found: 3(NXDOMAIN)
Run Code Online (Sandbox Code Playgroud)

但我找不到一种方法可以在这个(10.40.130/24)泊坞网络中的一个IP上访问编织容器,或者将端口暴露给群集节点.

我能想到但却不喜欢的唯一方法就是这样做:

iptables -t nat -A  DOCKER -p tcp --dport 53 -j DNAT --to-destination 172.17.0.1:53
Run Code Online (Sandbox Code Playgroud)

(这不起作用,这只是想法)

或者篡改编织脚本以使其在编织容器的开始处暴露端口.

有人知道更好的解决方案吗?

linux dns docker docker-swarm weave

12
推荐指数
1
解决办法
539
查看次数

标签 统计

dns ×1

docker ×1

docker-swarm ×1

linux ×1

weave ×1