Tag: 领事

docker反向代理DNS /networking问题

我会尽力解释和绘制出来 我想实现的是: 对不起,蹩脚的油漆图。 现在,如果我从10.10.10.0networking中find它的话,它是完美的。 问题是DNS将jenkins.network.comparsing到10.10.10.0networking。 我想通过代理回去,因为它有SSL端接到sonarqube服务器。 有没有一个好的方法来完成这项工作,以保持代理的服务? 我是否需要在Dockernetworking上创build第二个DNS服务器? 这是否可能与领事做,使外部和内部的服务指向相同的域名? 编辑:做这样的事情会工作,因为一切都通过代理。 所以当jenkins打声纳的时候,它认为它的ip真的是10.10.10.51,它可以通过那里击中它。 我需要做的是: 我需要它离开代理,然后通过代理回来。 IE: 172.16.10.2 —- 172.16.10.1 —– 10.10.10.50 —–代理然后接pipe路由到正确的位置(172.16.10.3:8080什么的)

如何在Marathon Docker参数中使用variables

我正在使用Marathon来运行Docker容器,并试图将该容器的DNS服务器设置为指向本地主机上的Consul代理。 在容器内部,Marathon / Mesos正在设置环境variables(可以在“args”中使用),但是我需要从站的IP地址传递给–dns上的–dns选项。 例如,这不起作用,因为HOSTvariables不能被parsing: { "id": "demo", "cmd": "python3 -m http.server 8080", "cpus": 0.5, "mem": 64.0, "instances": 2, "container": { "type": "DOCKER", "docker": { "image": "python:3", "network": "BRIDGE", "parameters": [{ "key": "dns", "value": "$HOST" }], "portMappings": [{ "containerPort": 8080, "hostPort": 0, "protocol": "tcp" }] } }, } 我试过使用一个Mesos奴隶可以访问的环境variables,但似乎也没有工作。 有什么build议么?

docker工虫领事不启动

当我试图通过这个命令启动docker领事 docker run –restart=unless-stopped -d -p 8500:8500 -h consul progrium/consul -server -bootstrap 它给出了以下错误。 docker:来自守护进程的错误响应:驱动程序无法编程端点上的外部连接tiny_bhaskara(b53c9aa988d96750bfff7c19c6717b18756c7b92287f0f7a4d9e9fa81f42c43d):iptables失败:iptables –wait -t nat -A DOCKER -p tcp -d 0/0 –dport 8500 -j DNAT –to目的地172.17.0.2:8500! -i docker0:iptables:没有链/目标/匹配的名称。 不知道发生了什么事情!

将Key / Value存储区中的Consul节点导出为Prometheus目标

普罗米修斯有Consul刮板,读取有关Consuls 服务的数据。 但我需要一些不同的东西。 在每个consul代理我有cAdvisor安装。 在Consul Key / Value商店,例如MYSWARM/DOCKER/NODES/下,领事代理商已经注册。 我想使用这些值来获取所有节点的IP地址,即cAdvisor。 我怎样才能做到这一点? PS看来我正在寻找Consul KV刮刀。

Docker和Consul:Pinging服务工作,但curl总是返回不能连接到主机错误

我正在尝试使用Docker部署多个服务,并使用Consul进行服务发现。 我已经通过各种指南和教程,我有以下bash脚本设置我的Docker容器: export PRIVATE_IP=XXX.XXX.XXX.XXX export BRIDGE_IP=XXX.XXX.XXX.XXX docker run -d –name consul -h $HOSTNAME -p $PRIVATE_IP:8300:8300 -p $PRIVATE_IP:8301:8301 -p $PRIVATE_IP:8301:8301/udp -p $PRIVATE_IP:8302:8302 -p $PRIVATE_IP:8302:8302/udp -p $PRIVATE_IP:8400:8400 -p $PRIVATE_IP:8500:8500 -p $BRIDGE_IP:53:53/udp progrium/consul -server -advertise $PRIVATE_IP -bootstrap docker run -d –name registrator -v /var/run/docker.sock:/tmp/docker.sock -h $HOSTNAME gliderlabs/registrator consul://$PRIVATE_IP:8500 docker run -d –dns=$BRIDGE_IP –dns 8.8.8.8 –dns-search service.consul -p 3579:3579 […]

join位于不同Docker容器中的serf节点时出现问题

上下文:主机是AWS-EC2 / Ubuntu 14.04.5,Docker版本为17.05.0-ce。 容器是从公开可用的回购图像cbhihe/serf-alpine-bash 。 所有容器都位于同一个EC2实例中,并与net-interface“docker0”共享相同的默认网桥networking。 尝试通过从主机的shell传递cmd来join节点serfDC1(id d4fd90692e18)和serfDC2(id 6353e7f6134d): $ docker exec serfDC1 serf agent -node=Node1 -bind=0.0.0.0:7946 ==> Starting Serf agent… ==> Starting Serf agent RPC… ==> Serf agent running! Node name: 'd4fd90692e18' Bind addr: '0.0.0.0:7946' RPC addr: '127.0.0.1:7373' Encrypted: false Snapshot: false Profile: lan ==> Log data will now stream in as it […]

作为Docker容器运行时,Java Spring不会与Consul通信

我正试图解决我认为是运行微服务的常见用例。 在这种情况下,我正在用一个spring的云应用程序testing领事。 我试图用两种不同的方式来testing领事。 其中第一个运行在Docker容器中,另一个运行在Docker主机上。 然后,我试图启动一个spring的云容器,将与任何一个领事的例子。 当Spring云应用程序作为docker容器运行时,我无法使Spring云应用程序与领事谈话。 当Spring云应用程序以主机联网模式运行时,它可以parsinglocalhost端口,但是如果我希望运行多个图像实例,这不是一个可接受的解决scheme。 下面显示了将两个服务作为容器运行时,我的泊坞窗撰写文件的示例。 在这里,我试图通过环境variables来设置春季云中的领队uri,但却无法使用各种configuration使其工作。 如果任何人都可以指出这些function一起工作的例子,那将是非常有用的。 consul1: image: progrium/consul ports: – "8400:8400" – "8500:8500" – "8600:53/udp" – "8600:53/tcp" environment: GOMAXPROCS: 100 entrypoint: "/bin/consul" hostname: consul command: agent -log-level=debug -server -config-dir=/config -bootstrap -ui-dir /ui simpletest: build: simpletest hostname: simpletest environment: JAVA_OPTS: "-Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n -Dspring.cloud.consul.host=consul1" ports: – 39041:7051 – 39052:7055 # d2fdockerroot_consul1_1 consul […]

Consul / Registrator体系结构 – 我需要在每个虚拟机上有一个独立的Consul代理吗?

我正尝试使用Consul和Registrator在各种虚拟机中使用微服务,但是我觉得我并没有太多东西。 我明白,注册人与Consul自动注册容器。 所以我想我会有一个虚拟机运行Consul,然后对于每个微服务,我会有一个虚拟机注册器+微服务。 但是,我无法让注册人在单独的虚拟机中与Consul代理进行交谈。 仔细查看build议的体系结构,似乎我需要在每个虚拟机上安装一个独立的Consul代理。 我理解对吗? 如果是这样,为什么? 注册者不应该只能将容器信息转发给任何虚拟机上的Consul代理? 另外,是否需要使用Consul代理和服务器在虚拟机上运行注册器?

状态为“Dead”的Docker容器在Consul健康检查运行之后

我正在使用领事的健康检查function,我一直在收集这些“死”的容器: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 20fd397ba638 progrium/consul:latest "\"/bin/bash -c 'cur 15 minutes ago Dead 什么是“死”的容器? 什么时候停止的容器变成“死”? 为了logging,我运行progrium / consul + gliderlabs /注册图像+ SERVICE_XXXX_CHECK envvariables进行健康检查。 它运行一个健康检查脚本,每X秒运行一次映像,像docker run –rm my/img healthcheck.sh 我对一般的“死”是什么意思,以及如何防止它发生感兴趣。 另一个奇特的是我的死容器没有名字。 这是来自集装箱检查的一些信息: "State": { "Dead": true, "Error": "", "ExitCode": 1, "FinishedAt": "2015-05-30T19:00:01.814291614Z", "OOMKilled": false, "Paused": false, "Pid": 0, "Restarting": false, "Running": […]

使用progrium / docker-consul的I / O超时错误

我正在尝试在AWS上使用Jeff Lindsay的 progrium/docker-consul映像在每台主机上安装Consul ,但无法让二级服务器和三级服务器join初始服务器。 我已经按照生产指令运行一个真正的consul集群,但是当我的consul2和consul3节点尝试joinconsul1专用IP时,我得到一个i/o timeout错误。 实例 我在AWS上创build了三个t2.micros ,并在我的VPC中分配了以下私有IP: 172.31.4.194 (Intended to be `consul1`, leader) 172.31.4.195 (Intended to be `consul2`) 172.31.4.193 (Intended to be `consul3`) 启动初始领事服务器实例 我的consul1节点自动起来,等待另外两个就好了: sudo docker run -d -h consul1 –name consul1 -v /mnt:/data \ -p 172.31.4.194:8300:8300 \ -p 172.31.4.194:8301:8301 \ -p 172.31.4.194:8301:8301/udp \ -p 172.31.4.194:8302:8302 \ -p 172.31.4.194:8302:8302/udp \ -p 172.31.4.194:8400:8400 […]