Tag: networking应用程序

从容器内访问主机的api

我正在尝试使用docker构buildenv,并且我想使其自动完成。 我已经写了一个自定义去二进制文件来处理构build的东西,我已经build立了一个图像,它已经安装the go binary , maven和java8 sdk 。 二进制的步骤是: 克隆一个git回购 运行构build命令 将构build工件提取到主机。 (尚未完成) 我正在运行容器时,将repo url作为parameter passing给二进制文件,并构build它。 但问题是我需要这些工件,以运行build设的应用程序。 我知道我可以使用volumes ,但我不想使用它们,因为当构build已经完成卷成为dangle ,它需要一个工作,删除这些dangling volumes 。 我以为我可以创build一个API保存文件到主机(这意味着我必须在主机内运行该API),我的自定义去二进制文件可以发送文件到API和API将执行保存。 但是当涉及从容器内部调用主机时,我遇到了问题。 我得到connection refused to port xx错误。 有没有更好的方法去做,还是应该改变我的方法?

指定networkingIP泊坞窗

我正在使用docker部署一个动物园pipe理员合奏,并遇到一个问题,我认为这是由于代理泊坞窗使用本地主机。 编辑:问题是,当我closures连接,他们留在TIME_WAIT 我想改变我的容器的IP到私人地址空间例如192.168.0.0子网中的其他东西,看看这是否解决了这个问题。 任何指导将不胜感激 这是我目前的docker-compose.yml的一部分: version: '2' services: zoo1: image: zookeeper restart: always ports: – 2181:2181 environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 server.4=zoo4:2888:3888 server.5=zoo5:2888:3888 zoo2: image: zookeeper restart: always ports: – 2182:2181 environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 server.4=zoo4:2888:3888 server.5=zoo5:2888:3888

如何启用docker集装箱通过他们的主机名相互ping通?

我想能够从另一个docker集装箱ping通docker主机名。 我怎样才能做到这一点 ? 我的容器在同一个dockernetworking上。 有人可以指导我在哪里寻找或search,我是networking新手,不知道我应该search什么来解决这个问题。

Dockernetworking – 链接或不链接?

我们有1000个pythonunit testing,并且有效地运行它们,我们将它们分批进行并行化。 每个批处理都有自己的Docker环境,由核心应用程序和mongo实例组成。 它的设置是这样的: docker network create –driver bridge ut_network-1 docker network create –driver bridge ut_network-2 docker run -d –name mongo-unittest-1 –network ut_network-1 mongo:3.4.2 docker run -d –name mongo-unittest-2 –network ut_network-1 mongo:3.4.2 docker run untapt_ut –rm –network ut_network-{%} –link mongo-unittest-{%}:db python discover.py 连接string是“mongodb:// db:27017 / mydb” {%}是与环境相关的数字 – 所以在ut_network-1上,数据库将是mongo-unittest-1。 注意“db”的别名。 这工作正常,但我读了 – 链接将被弃用 。 我认为解决scheme就像删除 […]

Docker容器不能ping通外部世界 – iptables

探索docker17.06。 我已经在Centos 7上安装了docker,并创build了一个容器。 用默认网桥启动容器。 我可以ping通两个主机适配器,但不是外部世界,例如www.google.com 所有的build议是基于旧版本的Docker,它是iptables的设置。 我想了解如何ping到外面的世界,需要什么? TIA!

Docker容器无法到达本地主机端口4444.为什么?

我容纳了一个应用程序,它是自动Seleniumtesting的testing驱动程序。 Selenium服务器(也称为Selenium Hub)在localhost:4444下的另一个Container以及Firefox节点上运行。 但我的应用程序无法达到它: Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: '10d3b5fd1010', ip: '172.17.0.2', os.name: 'Linux', os.arch: 'amd64', os.version: '3.16.0-4-amd64', java.version: '1.8.0_11 1' Driver info: driver.version: RemoteWebDriver at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665) at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131) at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:158) at de.services.impl.TestSetupFactory.getWebDriver(TestSetupFactory.java:408) at de.services.impl.TestSetupFactory.getSeleniumService(TestSetupFactory.java:279) at de.services.impl.AutomationServiceImpl.executeTests(AutomationServiceImpl.java:220) at de.start.Start.main(Start.java:25) Caused by: org.apache.http.conn.HttpHostConnectException: Connect to localhost:4444 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] […]

Docker:如何使用docker-compose和iptables防止dockernetworking出站stream量?

我使用Alpine Linux作为我的容器的基础,所以没有iptables,我宁愿不必为此添加它。 我find了这个答案: https ://stackoverflow.com/a/42336592/1326863,它告诉可以在docker的networking中禁用互联网,但是有可能在docker-composeconfiguration中做到这一点?

如何启动一个多接口的docker集装箱?

我想启动一个有三个接口的Docker容器,所有这些接口都会连接到主机上的一个网桥。 唯一的解决办法是提供我自己的networking插件。 一旦创build容器来configuration其networking,docker守护进程将调用以下接口: func (d *Driver) Join(r *dknet.JoinRequest) (*dknet.JoinResponse, error) 但JoinRequest结构中只有一个Endpoint对象,所以上面的调用只能configuration一个容器接口。 我不知道如何创build和configuration三个容器接口?

Docker容器中不同于主机的dns条目

当我从我的ubuntu系统ping一个url时,它正确地parsing所需的服务器的IP。 当我在我的容器中做同样的事情时,它parsing为其他一些IP(我认为它是一个老的DNS入口)。 有谁知道为什么发生这种情况,以及如何解决? ——— ———-更新 我用下面的命令运行容器: docker run -it -v $(pwd):/data-storage dotnet-testbed /bin/bash Pinging Google作品: PING google.com (172.217.19.174): 56 data bytes 64 bytes from 172.217.19.174: icmp_seq=0 ttl=54 time=4.537 ms ping myUrl显示错误的ip并卡住: PING myUrl (**.***.***.**): 56 data bytes

将Docker容器链接到另一个子目录

我正在尝试设置多个可以通过一个主容器访问的Docker容器。 例如: http://localhost:80是主容器 http://localhost:80/site1是一个单独的容器 http://localhost:80/site2是一个单独的容器 我知道 – –link标志已被弃用,而新的做法是使用–network标志。 当我使用–link (用于testing)时,我看到在主机文件中链接到的容器条目。 那是我卡住的地方。 所以我想使用docker –networking选项来设置上面的场景。 用例: /Site1可能是一个网站的pipe理员区域或成员,但是我想将它们放在单独的容器中,这样我就可以更容易地维护它们。 这些容器是基于apache2的,但是如果可能的话,不想编辑任何configuration文件(但是如果我需要的话,我可以) 我会怎么做呢?