草庐IT

network-analysis

全部标签

networking - 在 docker compose 中使用主机网络和其他网络

我正在尝试为我的项目设置开发环境。我有一个容器(ms1)应该放在他自己的网络中(在我的例子中是“服务”),还有一个容器(apigateway)应该访问该网络,同时将http端口暴露给主机的网络。理想情况下,我的dockercompose文件应如下所示:version:'2'services:ms1:expose:-"13010"networks:services:aliases:-ms1apigateway:networks:services:aliases:-apinetwork_mode:"host"networks:services:docker-compose不允许同时使用ne

networking - docker:如何轻松获得 veth 桥接接口(interface)对?

我有2个docker容器,并像这样桥接:#dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESef99087167cbimages.docker.sae.sina.com.cn/ubuntu:latest/bin/bash-c/home/c2daysagoUp21minutes0.0.0.0:49240->22223/tcpnight_leve3c8a7b18ec20dimages.docker.sae.sina.com.cn/ubuntu:latest/bin/bash-c/home/c2daysagoUp54minutes0.

networking - 使用主机 DNS 服务器的 Docker-compose 容器

我正在使用compose2.9(在yml版本2.1中)的“自定义”桥接网络中的“Ubuntu16.10服务器”上运行多个容器。我的大多数容器在内部都使用相同的端口,因此我无法使用“主机”网络驱动程序。我的容器都是链接在一起的,使用专用的links属性。但是,我还需要访问暴露在我的容器之外的服务。这些服务具有专用URL,其名称已在我公司的DNS服务器中注册。虽然我可以使用公共(public)DNS并从我的容器中访问任何公共(public)服务,但我无法访问我的私有(private)DNS。您知道从容器中使用私有(private)DNS的有效解决方案吗?或者更好的是,使用主机的网络DNS配

networking - Docker 容器绑定(bind)到端口,但我无法 ping 它

我有一个正在运行的Docker容器(来自this图像)。据我所见,容器似乎运行正常(日志文件看起来不错,可以通过SSH连接到容器并在其中使用SQLPlus)。但是,我无法从我的主机连接到容器。我是这样启动容器的:sudodockerrun-d-p49160:22-p49161:1521-p49162:8080alexeiled/docker-oracle-xe-11g我通过这个检查了端口绑定(bind):$sudodockerport80800.0.0.0:49162当我做sudodockerinspect我得到了这个:"NetworkSettings":{"IPAddress":"1

networking - 我无法让 Docker 容器访问互联网?

我对此束手无策,我已经梳理了每一个谷歌结果,但没有任何帮助。我完全无法让docker容器访问互联网。IP转发已启用(net.ipv4.ip_forward=1),ufw已关闭,我尝试添加-dns8.8.8.8-dns8.8.4.4标志.我在谷歌上找到的所有可能的解决方案都失败了。有人知道如何提供帮助吗?按照建议尝试重置所有内容here通过告诉我docker-d没有运行而导致整个事情中断。 最佳答案 我也遇到了同样的问题。因此,为了解决这个问题,我使用参数--net=host启动了容器,它非常适合我。这里是完整的声明sudodocke

networking - 网络和负载均衡器如何在 docker swarm 模式下工作?

我是Docker和容器的新手。我正在阅读docker的教程并遇到了这些信息。https://docs.docker.com/get-started/part3/#docker-composeymlnetworks:-webnetnetworks:webnet:什么是网络?文件说Instructweb’scontainerstoshareport80viaaload-balancednetworkcalledwebnet.(Internally,thecontainersthemselveswillpublishtoweb’sport80atanephemeralport.)那么,默认情

networking - docker0 和 eth0 有什么关系?

我知道docker默认会创建一个虚拟网桥docker0,所有容器网络都链接到docker0。如上图:容器eth0与vethXXX配对vethXXX链接到docker0与链接到switch的机器相同但是docker0和主机eth0之间是什么关系呢?更具体地说:当一个数据包从容器流到docker0时,它怎么知道它会被转发到eth0,然后再到外界?当外部数据包到达eth0时,为什么它会被转发到docker0然后容器?而不是处理它或丢弃它?问题2可能有点令人困惑,我将保留它并进一步解释:是由容器初始化的返回包(问题1):由于外界不知道容器网络,所以将包发送到主机eth0。它是如何转发到容器的?

networking - docker 容器是否有自己的 TCP/IP 堆栈?

我试图了解网络数据包的幕后情况,该网络数据包来自连接到主机的线路并被定向到Docker容器内的应用程序。如果它是一个经典的VM,我知道到达主机的数据包将由管理程序(例如VMware、VBox等)传输到VM的虚拟NIC,并从那里通过TCP/IP堆栈客户操作系统,最终到达应用程序。对于Docker,我知道主机上的数据包从主机的网络接口(interface)转发到docker0网桥,该网桥连接到veth对以容器内的虚拟接口(interface)eth0结尾。但在那之后呢?由于所有Docker容器都使用宿主内核,假设数据包由宿主内核的TCP/IP堆栈处理是否正确?如果有,怎么做?我真的很想阅读

networking - 如何从 Windows 10 上的容器连接到 docker 主机(Docker for Windows)

Docker容器可以通过哪个IP地址连接到DockerforWindows(在Windows10上)上的主机?您如何找到此IP地址?示例:您在Windows10机器上的端口1234上运行了一项服务。容器内的程序必须访问此服务。程序应该使用什么IP地址连接到主机? 最佳答案 简答:在大多数情况下,您需要10.0.75.1。在DockerforWindows中,容器通过称为DockerNAT的vEthernet适配器进行通信。要查找其详细信息,请打开命令提示符并键入ipconfig寻找一个看起来像的条目EthernetadaptervE

networking - 如何在没有端口映射的情况下将 docker 容器的 ip 和端口暴露给外部 docker 主机?

当我在一个docker主机上为同一个web镜像启动两个docker容器时。两个docker容器监听同一个端口5000两个容器的端口5000分别映射到docker主机的不同端口:49155、49156要从外部docker主机访问两个容器,需要通过访问docker主机ip和端口49155或49156有没有解决方案可以通过docker主机的ip和端口x.x.x.x:5000从外部docker主机访问docker容器,无需端口映射?不同dock主机上的所有docker容器可以直接相互访问。 最佳答案 您可以通过主机上的IP别名来完成此操作。