Tag: 联网

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专家,所以我可能会错过一些微不足道的东西…(顺便说一句,我第一次尝试做同样的事情,但服务器运行在同一主机,没有成功。) 你知道这个设置是否可行吗? 我将非常感谢任何暗示使这项工作… 提前致谢!

Docker撰写v3指定networking是入口?

我有我的docker群栈的docker组成文件。我想我的堆栈服务被部署在特定的networking和该networking我想入口networking,以便我可以使用docker的DNSRR。 version: "3" services: a: image: xyz/a:dev ports: – "80:80" – "443:443" networks: -my_network b: image: xyz/b:dev ports: – "5000:5000" networks: -my_network networks: my_network: driver:overlay ipam: driver: default config: -subnet: 10.0.1.0/24 在这里,我可以在哪里指定这个networking应该是入口networking? 加上我怎么能指定IP地址范围相同在这里指定在CLI: 在这里

为什么我的Docker容器中的networking/互联网如此之慢?

我问这个问题是因为我花了很多时间才弄明白为什么我的基础Ubuntu容器中的networking速度很慢,比主机操作系统慢50倍,这使得任何一种apt-get安装都需要很长时间(45在某些情况下+分钟)。 我怎样才能使我的容器中的networking更快?

如何使用Gcloud / kubernetes来获取客户端的外部IP地址

我最近开始在gcloud上使用kubernetes,到目前为止它一直非常stream畅,但我似乎无法得到客户端/用户外部ip地址在我的应用程序使用wildfly(jsf)任何想法将不胜感激! 我使用以下命令公开我的窗格: kubectl expose rc modcluster-replication-controller –name=modcluster –type="LoadBalancer" 1荚运行野蛮独立模式 1 pod运行mod-cluster 1荚运行postgres 1 rc运行mod-cluster-replication控制器 1暴露rc mod-cluster-replication控制器端口80 1个gcloud负载均衡器 我使用kubernetes,gcloud,modcluster,wildfly基于closuresTicket-monster Kubernetes

如何在两个不同的主机上运行两个docker集装箱之间的通信?

我探索了docker的基础知识。 在探索networking部分时,我发现了docker0网桥,它允许在同一主机上运行两个容器之间的通信。 但是,我有两个容器在两个不同的主机上运行。 有谁知道如何使这两个容器之间的沟通?

应用程序直接连接到容器

可能这是docker技术堆栈中的一个常见问题。 假设我们有 1. A client application "A" running on a host IPAddressA, 2. A docker container host with IPAddressB 2.1 An server "S" running as a container on above container host with IPAddressC. 应该做些什么来确保客户端应用程序“A”可以与在IPAddressC上的容器上运行的服务器“S”交谈? 注意:我在尝试使用-p选项(端口转发)时旋转一个新的docker集装箱。 但是,然后https客户端应用程序将失败,因为所获得的SSL证书是从docker容器主机,而不是容器本身。

Docker 1.9覆盖networking – 从主机访问

我很想知道什么是从运行守护进程的主机上访问Docker覆盖networking上的容器的最佳方法。 我之前使用过Weave,并且会将一个织造IP公开给主机,以便在主机上运行的实用程序可以访问织造IP地址空间上的容器。 Id喜欢能够使用覆盖分配的IP地址从主机(而不是从容器本身)寻址容器。 一种方法是公开容器本身的端口,但是Id喜欢通过容器在其生产networking中运行的path来访问它们。 PS。 我仍然搞清Docker 1.9networking,所以裸露在我身上:) 任何链接或指针将不胜感激 新: 我发现我可以通过docker_gwbridge访问容器,谁的IP是172.18.0.1。 因此,如果容器覆盖networkingIP为10.0.0.10,则可以从IP 172.18.0.10上的主机访问 这是处理容器的最佳方法吗? 有所帮助: 不同的Docker 1.9networking彼此交谈?

Docker撰写networking:nginx中的主机名不parsing

我试图迁移我的堆栈使用版本2的docker-compose.yml,并遇到networking主机名未被nginx解决的问题。 我的堆栈包含一个nginx反向代理(在debian上:wheezy),它通过其他几个软件组件来提供安全内容,我不会详细讨论(参见下面的configuration)。 在版本1 yaml中,我使用docker链接的环境variables和LUA脚本一起将它们插入到nginx.conf(使用nginx-extras)中。 这在Docker容器的前面作为一个反向代理完美运行。 在版本2 yaml中,我使用由dockernetworking生成的主机名。 我能够成功地从容器内ping这些主机名,但是nginx无法解决它们。 2016/05/04 01:23:44 [error] 5#0: *3 no resolver defined to resolve ui, client: 10.0.2.2, server: , request: "GET / HTTP/1.1", host: "localhost" 这是我目前的configuration: 泊坞窗,compose.yml: version: '2' services: # back-end api: build: . depends_on: – db – redis – worker environment: RAILS_ENV: development ports: – "3000:3000" volumes: – ./:/mmaps […]

主机中无法访问Docker容器

我的一些容器正在生产中运行一个Web服务器(PHP,NodeJS)。 如果我们以NodeJS容器为例,这是它的configuration 泊坞窗,compose.yml version: '2' services: webapp: build: . volumes_from: – data links: – db:db – redis:redis ports: – '8080:3000' restart: always … 有了这个configuration,我可以通过http://example.com:8080/访问我的webapp,但是我无法访问我的主机 $ curl localhost:8080 (Time-out) 我的主机上有这个configuration的Nginx服务器: example.com.conf upstream webapp { server 127.0.0.1:8080; } server { listen 80; listen [::]:80; server_name example.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header HOST $http_host; proxy_set_header X-Forwarded-For […]

找不到合适的驱动程序(jdbc:pgsql)

(使用com.impossibl.postgres.api.jdbc) 从主机文件引用某些内容时,我遇到了build立与数据库的连接的问题。 虽然它似乎与'localhost'一起工作。 Class.forName("com.impossibl.postgres.jdbc.PGDriver"); String url = "jdbc:pgsql://localhost:5432/db"; Connection conn = DriverManager.getConnection(url, "name", "pass"); 我有一个docker容器(在同一台主机上作为postgres容器)运行。 当我使用主机的IP地址或IP地址的postgres容器工作正常,但每当我尝试使用容器名称,它给了我 java.sql.SQLException: No suitable driver found for jdbc:pgsql://postgres_container:5432/db 容器在运行时被链接到了postgres容器,并且该容器的主机文件就像它应该是一样。 这个驱动无法引用hosts文件吗? 如果是这样,为什么它与本地主机一起工作?