如何同时运行2个SkyDns / Skydock环境?

参考: https : //github.com/crosbymichael/skydock https://github.com/crosbymichael/skydns

首先我解决了这两个例子。

docker run -d -p 8080:8080 -p 172.17.42.1:53:53/udp --name skydns crosbymichael/skydns -nameserver 8.8.8.8:53 -domain docker docker run -d -v /var/run/docker.sock:/docker.sock --name skydock crosbymichael/skydock -ttl 30 -environment dev -s /docker.sock -domain docker -name skydns 

这个设置按预期工作。

现在我想创build另一个生产环境。 这一次,我只是按照如下的方式解雇了env制作的另一个skydock容器。

 docker run -d -v /var/run/docker.sock:/docker.sock --name skydock-prod crosbymichael/skydock -ttl 30 -environment prod -s /docker.sock -domain docker -name skydns 

查询api并不显示生产skydoc。

 curl $(docker-ip):8080/skydns/services/ 

现在我想知道如何设置skydock的生产版本。

我必须在独立的docker主机上运行吗? 如果我在同一个docker主机中启动,在哪个DNS URLinput将新的容器可用? 当我在生产环境中启动新的容器时,是否必须传递一些标志/variables?

我不关心如何让2个或更多的skydock实例监听同一个docker.sock(在一台主机上)。 我觉得在概念上是不对的。 Docker容器对你的逻辑环境一无所知(生产,分期,…)

我有一个与skydns和skydock多主机设置。 我在一个单独的主机上运行skydns。 其他两台服务器中的每一台都运行skydock的单个实例,它将所有docker集装箱ips注册到集中的SkyDNS中,以便通过不同物理主机上的DNS名称可以看到所有容器。

所有这一切都工作在法兰绒networking覆盖https://github.com/coreos/flannel之上(这需要etcd)