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

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 入门快速上手指南

    Docker 入门快速上手指南 Docker 是一款轻量级的容器技术,可以帮助开发人员快速、方便地构建、打包、分享、运行应用程序。下面是 Docker 入门快速上手指南的完整攻略。 安装 Docker 首先需要在本地机器上安装 Docker。可以参考 Docker 官方网站提供的安装指南。安装完成后可以通过运行以下命令来检查是否安装成功: docker ve…

    Docker 2023年5月16日
    00
  • 深入了解docker(docker镜像、容器、仓库的基本概念)

    深入了解Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用及依赖包到一个可移植的容器中,然后发布到任何 Linux 或 Windows 机器上,也可以实现虚拟化,方便云端部署和升级。 Docker 镜像 Docker 镜像就是一个只读的模板,可以用来创建 Docker 容器。一个镜像可以包含一个或多个文件系统,也可以包含几个用来…

    Docker 2023年5月15日
    00
  • docker核心原理

    容器概念。 docker是一种容器,应用沙箱机制实现虚拟化。能在一台宿主机里面独立多个虚拟环境,互不影响。在这个容器里面可以运行着我饿们的业务,输入输出。可以和宿主机交互。 使用方法。 拉取镜像 docker pull registry 默认是从官网的docker仓库上面获取,其中pull的命令是拉取,与之对应的是push命令,日后有能力自己创建镜像并且上传…

    Docker 2023年4月12日
    00
  • 在 树莓派(Raspberry PI) 中使用 Docker 运行 aspnetcore/dotnetcore 应用

    本文主要利用 Microsoft 提供的 Dockerfile 进行安装。 虽然Raspberry PI 3 CPU支持 armv8 指令集 ,但是在 docker info 还是识别为 “ armv7l”。所以安装镜像时一律选用 ARMv7 的镜像。 关于树莓派与 .NET Core 需要注意的地方 .NET Core 2.0 支持 Arm32,提供运行时…

    Docker 2023年4月12日
    00
  • 从零搭建docker私有仓库的步骤

    下面是从零搭建Docker私有仓库的步骤的完整攻略: 准备工作 在开始搭建Docker私有仓库之前,需要完成以下准备工作: 安装Docker:在使用Docker的过程中,首先需要在主机上安装Docker,可以参考Docker官方文档进行安装。 申请域名:需要一个域名用来访问私有仓库,默认域名为registry.local,可以自定义域名。 搭建私有仓库 创建…

    Docker 2023年5月15日
    00
  • docker-compose 安装 mysql:5.7.31

        目录 一.新建一个启动服务的目录 二.新建文件docker-compose.yml 三.新建角本文件 init-mysql.sh 四.实使化目录和配置文件 启动服务 登陆mysql 其它操作   参考文档: 一.新建一个启动服务的目录 mkdir /usr/local/docker/mysql cd /usr/local/docker/mysql 二…

    Docker 2023年4月11日
    00
  • Linux服务器 使用docker搭载springBoot环境

    1.安装docker1.选择国内的云服务商,这里选择阿里云为例 curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh –   2.安装所需要的包 sudo apt-get install linux-image-extra-$(u…

    Docker 2023年4月13日
    00
  • Docker 基础之Dockerfile命令详解

    《Docker 基础之Dockerfile命令详解》是一篇介绍Dockerfile命令的文章,下面我们来一步步详细讲解。 1. Dockerfile 概述及其命令基础 Dockerfile 是由 Docker 提供用于定义镜像的文件格式。Docker 通过读取 Dockerfile 中的指令来自动构建镜像,Dockerfile 是构建 Docker 镜像的基…

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