Tag: networking应用程序

Docker接收组播stream量

我们有一个docker化的服务器应用程序,通过监听端口6969上的多播数据包来自动发现networking上的物理设备。因此,我们需要我们的docker容器能够通过主机从主机之外的设备接收这些数据包,并进入容器。 我已经看到一些 类似的 问题,并做了大量的 阅读,但我仍然无法让服务器响应这些组播数据包。 我坐在Wireshark上观看networkingstream量,但我不是专家。 我知道Docker创build了一个MASQUERADE地址,使stream量看起来像来自Docker网关,所以当我看到veth我发现172.17.0.1和172.17.0.2之间的交谈很多,尽pipe我的服务器无法获取有关设备的任何信息在networking上。 (如果我在docker外面跑步,我当然没有问题。) 我不能使用–net=host ,和其他人一样,我们使用了–linkfunction。 我已经尝试了以下变化… docker run –name app -p 6969:6969 -d me/app:latest docker run –name app -p 0.0.0.0:6969:6969 -d me/app:latest (这一个我可以宣誓工作过一次,但现在不? docker run –name app -p 0.0.0.0:6969:6969/udp -d me/app:latest docker run –name app -p 255.255.255.255:6969:6969 -d me/app:latest 任何帮助或见解,你可以提供将不胜感激。

在stream浪者/虚拟箱上访问其他机器仅在托pipe容器内的networking上

我有一个实验室环境,我已经设置使用stream浪汉。 它由3台机器,两台安装了docker 1.4.1的应用服务器和一台安装了postgres 9.3的数据库服务器组成。 所有机器都运行Centos 6.6。 环境使用仅主机的专用networking进行设置。 这是stream浪者档案 Vagrant.configure('2') do |config| config.vm.box = "centos-6.0-updated" { 'db' => '10.17.33.10', 'app1' => '10.17.33.11', 'app2' => '10.17.33.12', }.each do |short_name, ip| config.vm.define short_name do |host| host.vm.network 'private_network', ip: ip host.vm.hostname = "#{short_name}.my.dev" end end end 我发现当我在app1或app2上的容器内时,我无法访问数据库服务器。 我相信问题是vagrant / virtualbox的主机专用networking使用127.0.0.x范围内的地址。 在主机上,stream浪者configuration回送接口来处理向networking上的每台机器发送请求。 但是在容器中,因为这个接口没有configuration,所以容器把所有的127.0.0.x请求作为localhost的请求处理,并把它们发回给自己。 有没有其他的configuration可以在stream浪方面设置,或者docker方面可以缓解这个问题? 总之,我想有一个stream浪的环境,我的应用程序服务器上的容器可以与数据库服务器交谈。 请注意,db直接安装在db主机上,不在docker容器内运行。 此外,这意味着模仿不会使用stream浪者的生产环境,所以我希望任何docker更改也能在更普通的networking场景中工作。

Docker容器没有连接到https端点

从docker集装箱内,我正在运行 # openssl s_client -connect rubygems.org:443 -state -nbio 2>&1 | grep "^SSL" SSL_connect:before/connect initialization SSL_connect:SSLv2/v3 write client hello A SSL_connect:error in SSLv2/v3 read server hello A 这就是我得到的 我无法连接到Docker容器内的任何https站点。 容器运行在openstack虚拟机上。 虚拟机可以通过https连接。 有什么build议? UPDATE root@ce239554761d:/# curl -vv https://google.com * Rebuilt URL to: https://google.com/ * Hostname was NOT found in DNS cache * Trying 216.58.217.46… * Connected to […]

关于docker链接和容器的/ etc / hosts文件

我正在关注Docker官方文档“ 连接容器 ”。 在本文档的底部,在容器的/ etc / hosts文件中,它定义了链接两端的IP地址。 $ sudo docker run -t -i –rm –link db:db training/webapp /bin/bash root@aed84ee21bde:/opt/webapp# cat /etc/hosts 172.17.0.7 aed84ee21bde . . . 172.17.0.5 db 然后,它说: 如果重新启动源容器,链接的容器/ etc / hosts文件将自动更新源容器的新IP地址,从而允许连接的通信继续。 $ sudo docker restart db db $ sudo docker run -t -i –rm –link db:db training/webapp /bin/bash root@aed84ee21bde:/opt/webapp# cat /etc/hosts 172.17.0.7 aed84ee21bde […]

Docker命令中的–net = host选项是干什么的?

我对Docker有点初学者。 在Docker运行命令中,我找不到任何有关此选项的明确说明。 我们可以使用它来访问运行在docker容器上的应用程序,而无需指定端口吗? 作为一个例子,如果我在Docker运行命令中使用选项-p 8080:8080运行通过8080端口上的泊坞窗图像部署的webapp,我知道我将不得不在8080端口上访问Docker容器ip / theWebAppName。 但我不能真正想到如何–net=host选项的作品。

Docker群与自定义networking

我正在努力解决如何在Docker中正确使用swarm模式。 首先,我尝试在我的2个工作人员和pipe理器机器上运行容器,而没有指定自定义networking(所以我使用默认的入口覆盖networking)。 但是,如果我使用入口networking,出于某种原因,我无法解决tasks.myservice 。 所以我尝试configuration一个像这样的自定义networking: docker network create -d overlay elasticnet 所以,现在,当我打开一个容器时,我可以成功parsingtasks.myservice但是我不能再访问我在服务创build时定义的端口 – 在外部使用–publish (我可以使用入口networking)。 有什么办法可以: 使用入口networking,并能解决任何将直接到我的服务容器的任何DNS tasks.myservice或任何其他DNSlogging? 或者,使用自定义networking,但–publish正确–publish端口,以便我可以在外部访问它们? 编辑 这是我如何创build我的服务, 没有自定义networking: docker service create –replicas 3 –label elasticsearch –endpoint-mode vip –name elastic -e ES_HOSTS="tasks.elastic" –publish 9200:9200 –mount type=bind,source=/tmp/es,destination=/usr/share/elasticsearch/config –update-delay 10s es:latest 使用自定义networking: docker service create –replicas 3 –network elasticnet –label elasticsearch –endpoint-mode vip –name […]

Docker的`docker0`设备反复死亡(`inet addr`消失)

我正在运行Docker version 1.4.1, build 5bc2ff8在Ubuntu 14.04上Docker version 1.4.1, build 5bc2ff8 。 当我docker run任何容器,几分钟后我的docker0桥“死”,容器停止能够到达networking。 在连接死亡之前,运行ifconfig报告一个docker0设备与一个inet addr类似: docker0 Link encap:Ethernet HWaddr 56:84:7a:fe:97:99 inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0 inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 [… etc.] 但连接死后, ifconfig显示ipv4地址已经消失: docker0 Link encap:Ethernet HWaddr 56:84:7a:fe:97:99 inet6 addr: xxxx::xxxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8116 […]

Docker Swarm – networking覆盖不能连接所有容器

我目前有3个EC2实例设置了Docker Swarm和Consul。 我有3个简单的节点应用程序遍布所有3个实例,然后nginx在我的swarm主机上进行路由。 使用覆盖networking指南,我创build了一个名为mynet的新覆盖mynet并将每个容器连接到此networking。 使用docker inspect我可以确认每个节点容器和nginx容器都连接到mynet并具有IP。 但是,在对我的nginx容器进行切换之后,它只能通过networking与位于同一主机上的节点应用程序通信,而不能与集群中其他主机上的节点应用程序进行通信。 在运行docker network inspect mynet ,只列出了两个容器(同一主机上的nginx和一个节点实例),而另外两个容器没有列出,即使它们具有该覆盖networking的名称和IP从docker inspect 。 这个想法是使用一个nginx反向代理来添加任何联机到它的configuration的新的容器,但我坚持让容器所有连接。 根据Dockernetworking文档覆盖这应该是可能的。 我究竟做错了什么? 谢谢。 编辑: 在发送垃圾邮件之后, docker network inspect mynet几次docker network inspect mynet ,看起来容器不断地与networking连接和断开连接,即使我已closures了所有的防火墙并打开了用于testing目的的端口。 什么会导致这样的事情?

Socketplane和Docker:如何连接2个(或更多)物理主机

我曾经与Weave一起工作,用于两台或更多台主机之间的dockernetworking问题。 我看到Docker 在几天前买了 SocketPlane 。 Docker的目标似乎是将SocketPlane作为networkingfunction。 我多次阅读文档(目前不是很丰富),但是我还没有看到如何在networking中连接两台物理主机。 我已经看到上个月增加了一个新的群集function( 问题#69 ),但是我没有find相关的文档。 我想知道是否有人已经设法使用SocketPlane在同一个dockernetworking(跨主机的容器)中连接两台物理主机或更多 在sockets板上还有另一个function,我找不到文档。 这是关于Consul整合。 谢谢你的帮助。

docker工人:如何轻松获得veth桥接口对?

我有2个容器由docker,和桥这样的: root@venus-166:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ef99087167cb images.docker.sae.sina.com.cn/ubuntu:latest /bin/bash -c /home/c 2 days ago Up 21 minutes 0.0.0.0:49240->22223/tcp night_leve3 c8a7b18ec20d images.docker.sae.sina.com.cn/ubuntu:latest /bin/bash -c /home/c 2 days ago Up 54 minutes 0.0.0.0:49239->22223/tcp night_leve2 bridge name bridge id STP enabled interfaces docker0 8000.72b675c52895 no vethRQOy1I vethjKYWka 我怎样才能得到哪个容器匹配veth* ? ef99 => vethRQOy1I […]