链接泊坞窗容器并使用通配符子域名
我有两个docker集装箱(container_one和container_two),一个链接到另一个container_one >>链接>> container_two。
当我从container_one使用地址运行curl命令: http://container_two/index.php curl命令按预期成功执行。
不过,我想介绍一个通配符子域,以便我可以将任何数量的子域附加到container_two(例如:site1.container_two,site2.container_two,* .container_two等)。 显然,从container_one: http://site1.container_two/index.php调用一个curl命令不适用于单独链接。
有没有人知道这将是可能的docker运行命令或可能以其他方式吗?
基本上,你不能只用--link
标志来做到这一点,因为--link
向/etc/hosts
文件添加了一个条目来促进这个容器间通信,而/etc/hosts
文件不支持通配符条目。
但是,您可以在container_one
上设置DNS服务器,并在该DNS服务器上设置通配符主机(或子域logging),以指向您的container_two
(并将所有其他请求转发给所有其他主机名的实际DNS)然后在--dns=127.0.0.1
docker run
命令中为container_one
指定--dns=127.0.0.1
。 这看起来有点不好意思,但是会发生什么呢, container_one
会遇到一个在/etc/hosts
中无法识别的主机名, 127.0.0.1
(localhost),而container_one
上的DNS将指向container_two
的子域名其他请求转发到您的外部DNS基础设施)。
你可以在文档中find更多关于这个的信息 。 祝你好运!