Tag: networking应用程序

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容器没有连接到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工人:如何轻松获得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 […]

docker0和eth0有什么关系?

我知道默认情况下, docker0创build一个虚拟网桥docker0 ,所有的容器networking链接到docker0 。 如上图所示: 容器eth0与vethXXX配对 vethXXX链接到docker0与链接到交换机的机器相同 但docker0和host eth0之间的关系是什么? 进一步来说: 当一个数据包从容器stream到docker0时,它怎么知道它会被转发到eth0,然后被转发到外部世界? 当外部数据包到达eth0时,为什么它被转发到docker0然后是容器? 而不是处理它或丢弃? 问题2可能有点混乱,我会保留在那里,再解释一下: 它是由容器(问题1)发起的返回包:由于外部不知道容器networking,所以将包发送到主机eth0 。 它如何被转发到容器? 我的意思是,必须有一些地方来存储信息,我怎么检查它? 提前致谢! 在阅读答案和官方networking文章后,我发现下图更加准确, docker0和eth0没有直接链接,而是可以转发数据包: http://dockerone.com/uploads/article/20150527/e84946a8e9df0ac6d109c35786ac4833.png

如何从外部主机(mac)连接到docker

我是docker工人。 我已经运行一个docker容器与mongo运行它(使用boot2docker ) docker run –name some-mongo -p 27017:27017 -d mongo 在docker里面: root@8e9b742c127a:/# mongo MongoDB shell version: 3.0.2 connecting to: test Server has startup warnings: 2015-05-12T08:49:56.130+0000 I CONTROL [initandlisten] 2015-05-12T08:49:56.130+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2015-05-12T08:49:56.130+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2015-05-12T08:49:56.130+0000 I CONTROL [initandlisten] 2015-05-12T08:49:56.130+0000 I […]

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整合。 谢谢你的帮助。