docker 容器网络模式详解
目录
- bridge - 桥接模式
- host - 站点模式
- container - 容器模式
- none模式
- overlay 模式
bridge - 桥接模式
上期有提到我们可以使用docker create network net_name 命令来创建网络
并提到了 -d 后面可接网络类型
当没有指定网络类型的时候,docker会默认创建bridge格式的网络
桥接模式大家学过设计模式的应该不陌生,主要是将抽象部分与实现部分分离,可以独立变化又不影响实现方式
docker容器的桥接模式分离的就是容器链接ip与主机网络
当docker使用桥接模式创建网络时,就会生成虚拟网桥,并提供给容器一个ip进行连接,然后在主机中创建一个类似网卡接收器,如果有新的容器申请加入网络,就会给他发送网卡,这样新的容器就可加入网络中
总结一下就是桥接模式会创建类似交换机的虚拟网桥,所有容器可通过虚拟网桥接入数据链路层,完成网络连接
host - 站点模式
host模式很好理解,当使用host模式创建网路,会直接使用宿主机提供的host地址,和宿主机共享网络,包括IP与端口,不在自己创建网卡,网桥等,所有容器接入宿主机网络即可完成互联
container - 容器模式
container模式比较严谨了,主要是指创建一个新的容器去金额一个已经创建好的容器进行连接,新旧容器共享一个网络,新创建的容器不再自己创建网卡等。
k8s的pod使用的也是这个模式
none模式
都不知道该给它起个什么名,none模式下,容器只是徒有一个网络,但是网桥,网卡,ip,端口啥的都没有,用的话自己添加,没添加前没办法联网
(至今不知道这玩意有啥用)
可能不联网安全吧
overlay 模式
overlay模式用于跨主机容器互联,就是之前提到过的适用于云等场景,分布式也很好用
以上就是docker 容器网络模式详解的详细内容,更多关于docker 容器网络模式的资料请关注我们其它相关文章!
相关推荐
-
docker之点到点的容器网络的配置
一.搭建容器之间的网络 1. 查看目前的网络环境 [root@liuxin-test01 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft for
-
Docker 手动配置容器网络实例详解
Docker 手动配置容器网络 docker容器的网络是net命名空间与虚拟设备的结合,容器在启动时会创建一对虚拟接口veth pair,这一对接口分别放到本地和容器中,在本地的veth会被分配类似vethxxxx的名称并被桥接到指定网桥的上(默认为docker0),可以通过brctl show命令查看网桥上挂载的接口,在容器中的veth会从网桥获取一个未使用地址,该veth的名称会被更改为eth0并配置默认路由到vethxxxx,docker允许在启动容器的时候通过--net参数指定不同的网络
-
Docker容器网络端口配置过程详解
暴露网络端口 实际上,Docker中涉及暴露网络端口的参数有两个,分别是-p和-P.下面分别来介绍. -P 使用-P,Docker会在宿主机上随机为应用分配一个未被使用的端口,并将其映射到容器开放的端口,以Nginx 为例,如下: 可以看到,Docker为应用分配了一个随机端口32768,使用该端口即可访问容器中的 nginx(http://lcalhost:32768). -p -p参数则有几种不同的用法: hostPort:containerPort 这种用法是将宿主机端口和容器端口绑定起来
-
详解Docker使用Linux iptables 和 Interfaces管理容器网络
我使用docker至今已有一段时间了,与绝大部分的人一样,我被docker强大的功能和易用性深深的折服.简单方便是docker的核心之一,它强大的功能被抽象成了非常简单的命令.当我在使用和学习docker的时候,我很想知道docker在后台都做了一些什么事情,特别是在网络这一块(我最感兴趣的一块) 我找到了很多关于创建和操作容器网络的文档,但是关于docker如何使网络工作的却没有那么多. Docker广泛使用linux iptables和网桥接口,这篇文章是我如何用于创建容器网络的总结,大部分
-
Docker容器使用方法详解
目录 一.新建并启动 一.新建并启动 所需要的命令主要为 dockerrun.例如,下⾯的命令输出⼀个“HelloWorld”,之后终⽌容器. $ docker run ubuntu:16.04 /bin/echo 'Hello world' Hello world 这跟在本地直接执⾏ /bin/echo 'hello world' ⼏乎感觉不出任何区别.下⾯的命令则启动⼀个 bash 终端,允许⽤户进⾏交互. $ docker run -t -i ubuntu:16.04 /bin/bash
-
Docker安装方法与Docker四种网络模式详解
1.安装docker yum -y install docker-io 出现complete说明安装完成 2.启动docker服务 service docker start 3.设置docker开机启动 chkconfig docker on 4.基本信息查看 docker version docker info docker images查看镜像 docker ps查看正在运行的容器 docker rmi删除镜像 docker save -o imageName:tag > path/name
-
Docker Compose 网络设置详解
基本概念 默认情况下,Compose会为我们的应用创建一个网络,服务的每个容器都会加入该网络中.这样,容器就可被该网络中的其他容器访问,不仅如此,该容器还能以服务名称作为hostname被其他容器访问. 默认情况下,应用程序的网络名称基于Compose的工程名称,而项目名称基于docker-compose.yml所在目录的名称.如需修改工程名称,可使用--project-name标识或COMPOSE_PORJECT_NAME环境变量. 举个例子,假如一个应用程序在名为myapp的目录中,并且do
-
Docker基础 :网络配置详解
大量的互联网应用服务包含多个服务组件,这往往需要多个容器之间通过网络通信进行相互配合.Docker 目前提供了映射容器端口到宿主主机和容器互联机制来为容器提供网络服务.接下来我们将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信. 端口映射实现访问容器 从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的.当容器中运行了一些网络应用,要让外部访问
-
Docker 基础网络配置详解
外部访问 随机映射端口 使用 -P 标记,Docker会随机映射一个49000-49900的端口到内部容器开放的网络端口 docker run -d -P training/webapp python app.py docker ps -l # 显示最近创建的容器 docker logs -f web # 查看应用的信息 映射所有接口地址 docker run -d -p 5000:5000 training/webapp python app.py 映射到指定地址的指定端口 docker ru
-
Docker中容器数据卷详解
目录 什么是容器数据卷 数据的覆盖问题 使用数据卷 方式一:直接使用命令挂载 -v 测试挂载卷 方式二:Dockerfile文件 数据卷命令 查看数据卷 方式一:docker inspect 容器ID 方式二:docker volume inspect juming-nginx 挂载三种方式 扩展 什么是容器数据卷 从docker的理念说起,docker将应用和环境打包成一个镜像,运行镜像(生成容器)就可以访问服务了. 如果数据都存在容器中,那么删除容器,数据就会丢失!需求:数据可以持久化 My
-
Docker Swarm入门实例详解
Swarm 在 Docker 1.12 版本之前属于一个独立的项目,在 Docker 1.12 版本发布之后,该项目合并到了 Docker 中,成为 Docker 的一个子命令.目前,Swarm 是 Docker 社区提供的唯一一个原生支持 Docker 集群管理的工具.它可以把多个 Docker 主机组成的系统转换为单一的虚拟 Docker 主机,使得容器可以组成跨主机的子网网络. 1. Swarm 认识 Swarm 是目前 Docker 官方唯一指定(绑定)的集群管理工具.Docker 1.
-
docker之docker-machine用法详解
docker-machine 是docker官方提供的docker管理工具. 通过docker-machine可以轻松的做到: 在Windows平台和MAC平台安装和运行docker 搭建和管理多个docker 主机 搭建swarm集群 环境win下面安装的virtualbox,virtualbox安装的centos7,网络模式NAT+hostonly ip:192.168.56.102(hostonly) 1.安装docker-machine: curl -L https://github.c
-
Docker compose 编排工具详解
Docker Compose Docker Compose是一个定义及运行多个Docker容器的工具,通过 Compose,无需用shell脚本来启动容器,而使用 YAML 文件来配置应用程序需要的所有服务,然后使用命令,根据 YAML 的文件配置创建并启动所有服务,非常适合于多个容器进行开发的场景. Compose非常适合开发,测试和登台环境以及CI工作流程. YAML YAML是一个可读性高,用来表达数据序列化的格式 相关命令及格式 version:指定此yml文件基于的compase的版本
随机推荐
- 浅谈ASP.NET Core 2.0 布局页面(译)
- Ajax开始准备入门篇
- 详解angular中通过$location获取路径(参数)的写法
- Windows7下IIS+php配置教程
- java原装代码完成pdf在线预览和pdf打印及下载
- 浅谈线程的几种可用状态
- oracle下加密存储过程的方法
- Oracle Decode()函数使用技巧分享
- Python运行的17个时新手常见错误小结
- PHP自定session保存路径及删除、注销与写入的方法
- Python3实现连接SQLite数据库的方法
- C中的volatile使用方法
- JS通过ajax动态读取xml文件内容的方法
- jQuery操作input值的各种方法总结
- linux shell 字符串操作(长度,查找,替换)详解
- js验证模型自我实现的具体方法
- 无敌命令结束Windows系统进程
- Java基础之java处理ip的工具类
- C#文件合并的方法
- Python调用百度根据经纬度查询地址的示例代码