Docker四种网络模式演示及连通性测试

yizhihongxing

Docker四种网络模式演示及连通性测试

在了解Docker四种网络模式之前,需要先了解Docker的网络基础知识。

Docker网络基础知识

Docker 的网络分为以下两大类:
1. bridge(网桥)模式:Docker默认采用这种模式,但默认情况下容器之间并无连通关系,需要手动创建容器并连接。
2. host(主机)模式:Docker使用宿主机的网络,容器与宿主机共享IP地址。

Docker的网络模式有四种:
1. bridge(桥接)模式: 通过在容器和Docker宿主机之间创建一个虚拟桥接接口来进行网络通信。
2. host(主机)模式: 自动使用主机的网络stack并将容器的IP设置为主机的IP。容器直接使用宿主机的网络。
3. none(独立)模式: 网络完全隔离,容器内没有网络接口,只有localhost。
4. container(容器)模式: 在两个容器之间创建共享的网络命名空间,两个容器之间直接可以通过localhost相互访问。

Docker四种网络模式演示

示例一:bridge模式

首先需要创建两个容器,分别为server和client:

$ docker run -itd --name=server busybox /bin/sh
$ docker run -itd --name=client busybox /bin/sh

然后将这两个容器连接在一起:

$ docker network create bridge_net
$ docker network connect bridge_net server
$ docker network connect bridge_net client

在server容器中启动一个http服务:

$ docker exec -it server httpd -p 80

然后在client中使用curl命令访问http服务:

$ docker exec -it client curl http://server:80

如果能够正常访问,说明bridge模式搭建成功。

示例二:host模式

继续使用上面的两个容器,将server容器启动一个http服务:

$ docker exec -it server httpd -p 80

在client容器中使用curl命令访问http服务:

$ docker exec -it --net=host client curl http://localhost:80

如果能够正常访问,说明host模式搭建成功。

连通性测试

对于上面的两种模式均可使用如下命令进行连通性测试:

$ docker exec -it client ping server

如果能够ping通,说明容器之间是互通的。

总结

Docker的网络模式有四种,使用不同的网络模式可以满足不同的需求。需要注意的是,不同网络模式下容器之间的访问方式也会有所不同,建议根据具体场景选择适合的网络模式。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker四种网络模式演示及连通性测试 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Docker容器内无法解析DNS的问题 Could not resolve host

    在docker容器内使用  yum 或者 wget 命令,会提示  cannot resolving host address 无法解析主机地址  ,也就是容器内无法解析DNS。 Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&…

    Docker 2023年4月11日
    00
  • 使用docker部署一个简单的c/c++程序的方法

    使用Docker可以轻松地部署和运行C/C++程序,并且有效地隔离了程序与主机系统的环境,提供了更好的可移植性和稳定性。下面是使用Docker部署简单C/C++程序的攻略。 1. 安装Docker 在开始之前,请确保已经安装了Docker。对于不同的操作系统,有不同的下载方式和安装方法,可以在Docker官网上找到详细的安装说明。 2. 编写Dockerfi…

    Docker 2023年5月16日
    00
  • 关于Docker compose值IP与域名的映射 之 extra_host

    公司的所有项目都是采用Docker容器化部署,最近有一个项目需要使用定时任务调用第三方Api,正式web环境服务器的网络与第三方网络是通畅的,但是当将代码发布到正式环境,调用接口却显示 System.Net.Http.HttpRequestException: Resource temporarily unavailable 这一看就是实际网络还是不通,无法…

    2023年4月8日
    00
  • docker在Linux(有网、无网)下面的安装教程

      关于docker的概念,我在这里就不作说明了,直接切入正题吧!   有些客户对保密性要求比较高,因此去现场部署项目的时候,是没有网络的,这样的话,就比较难受了,网上许多无网的安装教程中需要yum指令,前提得有网络才能使用yum呀。下面将会分别介绍下有网和无网情况下docker的安装。 有网 docker ce支持64位版本 Centos 7,并且要求内核…

    Docker 2023年4月13日
    00
  • Docker之开启远程访问的实现

    下面是Docker开启远程访问的实现攻略: 一、修改 Docker daemon 配置 默认情况下,Docker daemon 只监听本地 socket 连接。为了实现 docker 远程访问,我们需要修改 Docker daemon 的配置,监听网络请求。在 /etc/docker/daemon.json 中添加以下内容: { "hosts&qu…

    Docker 2023年5月16日
    00
  • Docker 镜像、容器、仓库的概念及应用详解

    Docker 镜像、容器、仓库的概念及应用详解 Docker 镜像 Docker 镜像是一个可执行的软件包,包含运行特定应用程序所需的所有内容,包括代码、运行时环境、系统工具、库和依赖项。Docker 镜像使用栈式文件系统,将每个新图层添加到现有的图层顶部,从而创建一个完整的文件系统。Docker 镜像是可共享和重复使用的,开发者可以将其分享给他人或在多种应…

    Docker 2023年5月15日
    00
  • docker中时区问题的处理方法

    在Docker容器中,时区的设置和主机是独立的,有时候我们会发现容器的时区和主机上不一致,这会导致一些问题,例如时间显示不正确等。下面是docker中处理时区问题的攻略: 方法一:直接修改镜像时区 在制作镜像时,可以在Dockerfile中先设置时区,例如设置为上海时区: # Dockerfile内容 FROM centos:latest RUN ln -s…

    Docker 2023年5月16日
    00
  • 使用docker搭建一套开发环境全家桶的详细教程

    使用Docker搭建一套开发环境全家桶的详细攻略: 步骤一:安装Docker 在官方网站 https://www.docker.com/ 下载适合您系统的Docker安装程序。 按照安装程序的提示一步一步安装即可。 步骤二:选择需要的开发环境 Docker可以构建各种各样的开发环境。在这里我们选择两个常见的。 示例1:Python开发环境 我们将使用Dock…

    Docker 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部