Tag: networking应用程序

使用Docker在Celery中是否有魔力?

我有一个Django和瓶两个服务项目一些请求需要执行繁重的asynchronous任务。 我已经使用Redis早期的Celery + Django作为经纪人。 需要按计划运行任务。 但是..我不明白它是如何工作的内部的Docker容器假设有3个容器: – django_web – redis – celery_worker django_web和celery_worker使用redis作为经纪人。 任务在容器django_web中定义 celery_worker容器中的芹菜工作人员如何执行这项任务? 带有工作人员的容器不能访问function和操作。 这个任务的所有内容是以某种方式通过一个经纪人传递的,而且代码的位置并不重要。 或者只是通过名称和函数签名? 我找不到如何在Docker容器中使用Celery的最佳实践

将Docker容器从Docker容器暴露给Docker主机

我的应用程序在Docker容器中创build一个tap接口。 例如tap_1:ip:192.168.2.1 我的要求是,任何来自docker主机的数据包都可以直接发送到Docker容器内的Tap接口。 我基本上试图避免首先发送到docker0的一跳,然后将其转发到特定的接口。 我尝试了通过pipe道和桥梁networking,但似乎没有人能解决我的要求。 感谢你的帮助。 谢谢Ankit

如何让Web服务器从Docker容器中正常工作?

我已经configuration了Web服务器,以便在Docker容器中运行。 这一次,一个不工作。 我的Docker主机正在运行Ubuntu。 当其中包含Web服务器应用程序的Docker容器正在运行时,nmap命令显示外部IP地址和端口被“过滤”。 当Docker容器不运行时,nmap显示状态为“closures”。 这不是我所期望的。 Web浏览器显示“连接已重置”,不pipeDocker容器是否正在运行。 考虑到我所看到的nmap结果,这并不奇怪。 在支持Web服务的Docker容器中,我通常可以运行apt-get update和其他apt-get install命令。 但是我不能用这个问题容器。 我得到“失败解决'deb.debian.org'”。 我不确定这是否相关。 我试着用8.8.8.8和8.8.4.4configuration文件/etc/docker/daemon.json。 这个文件似乎没有做任何事情。 我尝试重新启动Docker服务器。 我停用了Docker服务器上的IP版本6。 我可以禁用防火墙。 为什么将Docker容器configuration为使用端口会导致在Docker容器运行时nmap命令显示端口被过滤? 我正在使用AWS服务器。 没有被注释掉的resolv.conf的内容是这些: nameserver 172.31.0.2 search us-east-2.compute.internal 更新/编辑。 为了回应以前的评论,我想在这里发布格式更好的信息。 curl ipinfo.io显示这个(但我用xxxxreplace了IP地址) { "ip": "xxxx", "hostname": "ec2-xxxx.us-east-2.compute.amazonaws.com", "city": "Columbus", "region": "Ohio", "country": "US", "loc": "39.9653,-83.0235", "org": "AS16509 Amazon.com, Inc.", "postal": "43215" } sudo iptables -S显示这个(但我用xxreplace了IP地址的最后两个八位字节) -P INPUT […]

了解Kubernetes上的LDAPlogin

我仍然在学习Kubernetes,但已经在为LDAPloginconfiguration的工作节点上部署了一个Docker容器。 目前,它有一个configuration为单个容器端口的部署 ports: – name: web containerPort: 8080 并将相应的服务configuration为 spec: type: NodePort ports: – port: 8080 targetPort: 8080 nodePort: 31780 如果我去Kube大师,端口31780,我可以看到我的Gerrit实例并login。但是,一旦我login,它会尝试去当然不能直接看到的IPOD地址主。 如果我回到master上的nodePort,那么我已经login了,一切正常。 我试图找出为什么,当我login时,它试图直接转到pod的地址/ ip而不是停留在服务的地址上。 另一个说明,如果我加 spec hostNetwork : true 那么事情工作正常(当我login,它保持在主机IP)。 但是,当我想要运行多个实例时,这是行不通的。 不确定这是否是Kubernetes,LDAP或Docker问题? 任何帮助感激!

Docker机器无法访问内部networking(VPN)

首先,networking并不是我的强项,所以我很抱歉,如果我的问题听起来愚蠢的知道你的。 我正在运行Ubuntu 16.04。 我有一个运行postgres的docker机器,这样我就可以轻松地重新创build一个数据库进行迁移。 我需要从公司内部networking的数据库中提取外部表,但是我的泊坞窗机不能访问内部networking服务器。 例如从我的ubuntuterminal, ping internal.server.company.com 返回成功ping到服务器(它已经到了)。 然而, docker exec -it ping internal.server.company.com 返回与unknown host 。 也, docker exec -it ping google.com 返回与成功坪,所以我知道我的docker机可以访问外部互联网。 不知何故来自docker的stream量无法访问我的主机可以访问的内部networking。 为什么是这样,我怎样才能让我的docker机与我的内部networking交谈?

设置docker容器IP到全局IP

我目前正试图设置一个IP到容器,可以访问networking内的任何其他机器。 我的docker主机9.158.143.0/24的networking,网关9.158.143.254。 尝试设置子网9.158.143.0/24中的IP(任何免费),networkingtypes为bridge.It没有工作(甚至无法ping通docker主机中的容器)。 然后创build一个用户定义的networking与子网9.10.10.0/24和networking驱动程序桥梁。 创build的容器是可ping通的,但只在docker主机内。 有什么办法可以从networking中的所有机器(不只是docker主机)访问这个容器。 PS:我不想公开这个港口(改变路线有用..我知道很less联网) 我aso试图用macvlan驱动程序用户定义的networking。 在这种情况下,我能够从其他机器ping容器,但不能从容器所在的docker主机

在同一主机/不同端口上运行不同的docker容器

我有一个由多个导轨项目组成的应用程序,我试图dockerize他们,每个应用程序启动一个不同的导轨端口: 主要应用程序:1665 pipe理员:3002 网站:3000 … 这是我的docker-compose.yml文件: version: '2' services: db: image: postgres:9.6 container_name: acme_db hostname: db.myapp.dev hostname: db.ach ports: – "5432:5432" volumes: – myapp_pgdata:/var/lib/postgresql/data/pgdata environment: – PGDATA=/var/lib/postgresql/data/pgdata – VIRTUAL_HOST=db.myapp.dev networks: – generic myapp: image: acme/myapp container_name: acme_myapp hostname: app.myapp.dev command: rails s -p 1665 -b '0.0.0.0' volumes: – ./myapp:/usr/src/app – $SSH_AUTH_SOCK:/tmp/ssh_auth_sock ports: – "1665:1665" depends_on: […]

具有特定IP的docker集装箱的networking问题

问题 我在我的dockernetworking中有一个IP地址(172.17.0.11)的问题。 每当容器获取此IP时,容器的出站连接将停止工作。 当我杀死这个容器时: 尽pipe没有人使用,但我仍然可以ping通这个IP iptables中没有与此IP关联的规则 在netstat中,我看到了很多docker-proxybuild立的连接,但是同时,这个列表中的其他IP与悬挂连接没有任何问题 对我来说看起来像IP冲突 – curl不起作用,可能是因为他们每次重新build立连接都很慢。 这不是DNS问题 ,由IPcurl不起作用,使用什么docker形象没有什么区别。 基础设施 这是Debian 8(4.9内核)上的一个单独的服务器安装,包含kubernetes 1.6.4和docker-ce 17.06.1(overlay2)。 这个问题发生在我从1.12.6升级到17.06.1之后 请帮我debugging这个问题。 docker版本: Client: Version: 17.06.1-ce API version: 1.30 Go version: go1.8.3 Git commit: 874a737 Built: Thu Aug 17 22:53:31 2017 OS/Arch: linux/amd64 Server: Version: 17.06.1-ce API version: 1.30 (minimum version 1.12) Go version: go1.8.3 Git commit: 874a737 […]

如何从Docker容器中使用其MAC地址获取设备的IP地址?

如果我知道它在Docker容器中的MAC地址,有没有办法获得设备的IP地址(在我的主机上运行)? 我已经尝试了这里提出的所有解决scheme。 1)尝试广播ping和使用arp -a只给出网关地址,因为docker在子网内运行。 2)使用nmap我无法validationMAC,我只能看到在该地址是否有一个活的主机。 我通过在 – –privileged模式下运行–privileged尝试上述方法,结果仍然是一样的。

使docker使用具有两个以太网端口的主机中的特定networking接口(通过名称或IP)

编辑:我相信这个问题只是相对于docker工人,我仍然给予traefik细节,以防万一它在未来的帮助。 我正在尝试在有两个以太网端口的机器上configurationtraefik。 由于我想将端口80暴露给外部,当我尝试启动容器时出现错误: 错误:对于traefik_traefik_1无法启动服务traefik:驱动程序失败编程端点上的外部连接traefik_traefik_1(68247b1a5d9c26bfb0a139747f210140c4cf4a34d9125b2cc2fb5d968c85a89b):启动userland代理时出错:listen tcp 0.0.0.0:80:bind:address already already in use 但80端口只在eth0(ip:192.168.1.11)接口中使用。 如何使docker(和traefik,如果需要的话)使用eth1(ip:192.168.1.12)接口的80端口不使用? 这是我docker-compose.yml : version: "2" services: traefik: image: traefik networks: – proxy ports: – 80:80 – 443:443 – 8888:8888 volumes: – /var/run/docker.sock:/var/run/docker.sock – ${SERVER_DIR}/docker/traefik:/etc/traefik/ – ${PWD}/acme.json:/acme.json – ${PWD}/traefik.toml:/traefik.toml – ${PWD}/servers.toml:/servers.toml restart: never networks: proxy: external: true 而我的traefik.toml : logLevel = "ERROR" defaultEntryPoints = ["http", […]