参考: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此设置如预期的那样工作。
现在,我想创建另一个生产环境。这一次,我只触发了另一个带有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查询接口不会显示生产的skydoc。
curl $(docker-ip):8080/skydns/services/现在我想知道如何设置skydock的生产版本。
我必须在单独的docker-host中运行吗?如果我在同一个docker主机中启动,那么新的容器将在哪个DNS url条目中可用?当我启动新的容器以在生产环境中可用时,我是否必须传递一些标志/变量?
发布于 2014-11-25 07:12:19
我不关心如何让2个或更多的skydock实例侦听相同的docker.sock (在单个主机内)。我认为从概念上讲,这是不正确的。Docker容器对您的逻辑环境(生产、试运行等)一无所知
我有一个多主机的设置,有天幕和天幕。我在单独的主机上运行skydns。另外两台服务器中的每一台都运行单一的skydock实例,它在集中式SkyDNS中注册所有的docker容器,这样所有的容器都可以通过dns名称在不同的物理主机上看到。
所有这些都是在Flannel网络覆盖https://github.com/coreos/flannel (需要etcd)之上工作的。
https://stackoverflow.com/questions/26374846
复制相似问题