Tag: 覆盖

docker群模式覆盖networking包丢弃

情景如下 实现负载均衡的udp,syslog,跨两个服务 networking设备ip:192.168.10.1两个节点 – node-1 ip:192.168.20.245 – node-2 ip:192.168.20.246 CentOS内核4.14 群模式 在端口514(syslog)上运行有两个python应用程序的服务,没有端口转发,并在两个节点间使用“mode:global”和“endpoint_mode:dnsrr”集合和默认覆盖networking使用“可连接:真实“。 服务容器ip syslog-01.xxxx:10.0.9.2 syslog-02.xxxx:10.0.9.3 使用ipvs运行另一项服务,通过overlayNetwork跨上述两个服务来负载平衡syslog,使用docker-compose -f compose.yml up -d部署。 这附加到514上的端口转发上面的覆盖networking。 ipvs负载平衡如预期。 注意:udp的源ip不会改变, 问题:我可以看到使用tcpdump在容器NIC级别上收到的数据包,但应用程序无法看到它。 在容器syslog-01.xxxx上输出tcpdump 20:01:29.403268 IP 172.16.111.1.514 > 10.0.9.2.514: SYSLOG user.info, length: 60 Output of tcpdump on container syslog-01.xxxx 22:09:30.686667 IP 172.16.111.1.514 > 10.0.9.3.514: SYSLOG user.info, length: 66 Observation : No iptable filter table […]

从主机访问容器的主机名

我有一些联合单个docker覆盖networking的docker集装箱。 在这个networking下,每个容器都通过主机名(容器)进行访问。 但我无法通过host-mashine(我的真实主机)的主机名访问容器。 如何通过我的真实机器的docker容器主机名访问容器?

Docker:连接到服务器的Swarm工作者

我有一堆swarm容器(现在在一台主机上,但可能在多主机系统中,符合一个多节点群)。 该系统由一个数据服务器和一组自治的工作人员组成,处理服务器接收到的位并摄取结果。 input数据检索和输出数据的提取是通过HTTP GET / POST完成的。 服务器端(数据供应和结果接收)工作,并且在没有Docker的情况下,针对在任何主机上运行的工作人员进行testing时,运行没有问题。 但是我需要把这些工人放在一个Docker群中。 我无法实现的是不同群体工作者与外部服务器之间的沟通。 我的服务器运行在端口8080的IP为10.69.180.30的主机上。 python test-dataserver.py -H 10.69.180.30 -p 8080 在几个论坛挖掘后,我尝试创build一个覆盖networking–subnet 10.69.180.0/24,然后启动在另一个主机连接到这个networking的工作人员的服务。 但是没办法。 docker network create –driver overlay –subnet 10.69.180.0/24 mynet docker service create –network mynet –name mysrv –replicas 4 \ centos curl http://10.69.180.30:8080/get_task 在这个简单的例子中,我不叫工作人员,而只是curl到服务器的地址和get_task节点。 它应该返回一个JSONstring,包含关于要执行的任务的信息。 但在服务器端,我没有得到任何请求。 我不是一个networking专家,所以我可能会错过一些微不足道的东西…(顺便说一句,我第一次尝试做同样的事情,但服务器运行在同一主机,没有成功。) 你知道这个设置是否可行吗? 我将非常感谢任何暗示使这项工作… 提前致谢!

在Debian 8上安装Docker

如https://docs.docker.com/engine/installation/linux/debian/中所述,使用apt-get -y install install docker-engine进行安装将失败 Job for docker.service failed. See 'systemctl status docker.service' and 'journalctl -xn' for details. systemctl status docker.service给出 ● docker.service – Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled) Active: failed (Result: exit-code) since Sun 2017-02-19 11:03:55 CET; 1min 22s ago Docs: https://docs.docker.com Main PID: 5157 (code=exited, status=1/FAILURE) Feb 19 11:03:55 v72089.1blu.de […]

JGroups在跨多个节点的Docker中运行时并不形成集群

我在Docker容器中运行jgroups应用程序。 容器运行在两个节点(A和B)之间,它们都使用docker群模式覆盖networking连接。 我提到https://docs.docker.com/engine/swarm/networking/ 这是我所做的和观察到的。 Jgroup绑定地址被设置为容器的覆盖networkingIP 在同一节点内运行的容器正在形成一个集群。 我使用nslookup来确保运行在节点A中的容器的覆盖networkingIP可以通过在节点B中运行的容器到达 docker node ls正确显示节点并能够成功调度容器实例。 Docker版本:Docker版本17.03.1-ce,build c6d412e 操作系统:Ubuntu 16.04.2 Cloud:AWS(端口7946 TCP / UDP和4789 UDP已打开) JGroups:3.6.6 Jgroups XML: <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:org:jgroups" xsi:schemaLocation="urn:org:jgroups http://www.jgroups.org/schema/jgroups.xsd"> <TCP bind_port="7600" recv_buf_size="${tcp.recv_buf_size:5M}" send_buf_size="${tcp.send_buf_size:5M}" max_bundle_size="64K" max_bundle_timeout="30" use_send_queues="true" sock_conn_timeout="300" timer_type="new3" timer.min_threads="4" timer.max_threads="10" timer.keep_alive_time="3000" timer.queue_max_size="500" thread_pool.enabled="true" thread_pool.min_threads="2" thread_pool.max_threads="8" thread_pool.keep_alive_time="5000" thread_pool.queue_enabled="true" thread_pool.queue_max_size="10000" thread_pool.rejection_policy="discard" oob_thread_pool.enabled="true" oob_thread_pool.min_threads="1" oob_thread_pool.max_threads="8" oob_thread_pool.keep_alive_time="5000" oob_thread_pool.queue_enabled="false" oob_thread_pool.queue_max_size="100" oob_thread_pool.rejection_policy="discard"/> <JDBC_PING […]

docker覆盖networking阻止IP转发

在Docker中使用Overlaynetworking时,docker引擎负责处理相关的iptables规则。 我有5个容器。 其中4个是应用程序,其中1个是“网关”,我希望所有stream量都通过这个网关(Ip_forwarding容器) 与 – 链接这工作完美,但与覆盖networking,这似乎是由于iptables规则阻止。 任何援助将不胜感激推荐的方法来解决这个问题。

如何从外部机器连接到Docker覆盖networking上的容器

有什么已知的解决scheme使外部机器连接到docker群覆盖networking上的容器?

Docker群叠加networking通信

我正在尝试设置一个Docker Swarm,其中容器使用Overlay Network进行通信,但是我可以使其工作 我使用HypriotOS 1.0.0 Linux发行版模拟了使用4个Raspberry Pi 3主板的基础架构,其中包括Docker Engine 1.12.1 Swarm初始化后,进入pipe理器节点 # create one overlay network $ docker network create –driver overlay swarm_network # create first service (foo) $ docker service create –replicas 1 –name foo –network swarm_network resin/rpi-raspbian tail -F -n0 /etc/hosts # create second service (bar) $ docker service create –replicas 1 –name […]

如何为docker创build覆盖networking,获取作用域“global”的错误数据存储没有初始化

我正在尝试使用docker 1.71 ubuntu映像创build一个networking。 一切安装和工作正常,但是当我尝试创build自己的networking,我得到以下错误: $docker network create -d overlay test Error response from daemon: datastore for scope "global" is not initialized

在覆盖networking上运行docker失败

我成功创build了一个覆盖networking,但是当我使用这个networking创build一个docker容器时,它失败了: docker run –net my_overlay –name test -it centos6 bash docker:来自守护进程的错误响应:无法在networking沙箱内添加veth pair:找不到“vethdee0c9b”的适当主服务器“ov-000100-00d00”。 节点的IP地址是10.16.26.118,原始的守护进程命令是: /usr/bin/docker daemon \ –insecure-registry dockerhub.xxx.com \ –cluster-store=etcd://10.16.24.153:2379,10.16.24.152:2379,10.16.25.54:2379 \ –cluster-advertise=10.16.26.118:2379 docker network ls的输出是: [root@sa-docker-test1.db01:~]# docker network ls NETWORK ID NAME DRIVER SCOPE 30244c91aa3a bridge bridge local 1bbaecaa70af host host local 00d00c478d12 my_overlay overlay global a112d2eb8504 net1 calico global 32a81070bb49 none null local