云计算进阶学习路线图课件:Docker容器的四种网络模式

Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装Docker引擎的服务器上,也可以实现虚拟化。随着云计算的飞速发展以及企业需求的多样化,Docker容器技术成为云计算人才必备的技能之一。很多人想要快速掌握Docker容器技术,接下来就给大家讲解Docker容器的四种网络模式。

1、closed container 封闭式网络模式

没有网络协议栈的通信使用none模式,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息,只有lo网络接口。需要我们自己为Docker容器添加网卡、配置IP等。

2、bridged container 桥接式网络模式

各个容器之间网络协议栈单独分离当Docker启动时,会自动在主机上创建一个docker0虚拟网桥,实际上是Linux的一个bridge,可以理解为一个软件交换机,它会在挂载到它的网口之间进行转发。同时,Docker随机分配一个本地未占用的私有网段(在 RFC1918 中定义)中的一个地址给docker0接口。当创建一个Docker容器的时候,同时会创建了一对veth pair 接口。这对接口一端在容器内,即eth0;另一端在本地并被挂载到docker0网桥,名称以veth开头。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。Docker就创建了在主机和所有容器之间一个虚拟共享网络。

3、joined container 联合挂载式网络模式

容器之间可以共享网络协议栈,即可以通过套接字来进行通信这个模式指定新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享 IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过lo网卡设备通信。

4、opentainer container 开放式网络模式

与主机共享网络协议栈Host模式使用是在容器启动时候指明--network host,此时容器共享宿主机的Network Namespace,容器内启动的端口直接是宿主机的端口,容器不会创建网卡和IP,直接使用宿主机的网卡和IP,但是容器内的其他资源是隔离的,如文件系统、用户和用户组。直接使用宿主机网络。同样启动一个nginx,此时共享主机网络,根据情况来使用,这样子也不用做端口转发,网络传输效率会比较高。

Docker运行过程也就是去仓库把镜像拉到本地,然后用一条命令把镜像运行起来变成容器。所以,我们也常常将Docker称为码头工人或码头装卸工,这和Docker的中文翻译搬运工人如出一辙。以上内容并不涉及Docker的安装、镜像的使用、容器的操作等内容。这部分东西,希望读者自己可以通过阅读书籍与官方文档的形式掌握。

原文地址:https://blog.51cto.com/14679712/2469658

时间: 2024-10-01 09:22:04

云计算进阶学习路线图课件:Docker容器的四种网络模式的相关文章

2.2 docker四种网络模式

Docker 网络管理 - 四种网络模式 * host模式   (容器的网络,寄居于宿主机.容器和宿主机网络一样.) 使用docker run时使用--net=host指定 docker使用的网络实际上和宿主机一样,在容器内看到的网卡ip是宿主机上的ip.相当于寄存于宿主机的网络.它有一定的局限性,如容器里开启了80端口,宿主机也开启了80端口,会产生冲突. 例如:docker run -it --rm --net=host centos bash   #退出容器,自动删除容器. * conta

docker: 四种网络模式

Docker 四种网络模式 四种网络模式摘自 Docker 网络详解及 pipework 源码解读与实践 docker run 创建 Docker 容器时,可以用 --net 选项指定容器的网络模式,Docker 有以下 4 种网络模式: host 模式,使用 --net=host 指定. container 模式,使用 --net=container:NAMEorID 指定. none 模式,使用 --net=none 指定. bridge 模式,使用 --net=bridge 指定,默认设置

docker的四种网络模式

/* 1. host模式 : docker run 使用 --net=host指定 docker使用的网络实际上和宿主机一样 2. container模式: 使用 --net=container:container_id/container_name 多个容器使用共同的网络,看到的ip是一样的. 3. none 模式 使用 --net=none指定 这种模式下,不会配置任何网络. 4. bridge模式 使用 --net=bridge指定 默认模式,不会指定 此模式会为每个容器分配一个独立的ne

Docker(十四)-Docker四种网络模式

Docker 安装时会自动在 host 上创建三个网络,我们可用 docker network ls 命令查看: none模式,使用--net=none指定,该模式关闭了容器的网络功能. host模式,使用--net=host指定,容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口. bridge模式,使用--net=bridge指定,默认设置 ,此模式会为每一个容器分配.设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及Iptables na

Docker:容器的四种网络类型 [十三]

一.None类型 简介:不为容器配置任何网络功能,--net=none 1.创建容器 docker run -it --network none busubox:latest 2.功能测试 [[email protected] ~]# docker run -it --network none busybox:latest / # ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBAC

docker的4种网络模式

关于docker网络模式有四种,内容如下,至于内容从来哪的,网上一大把呢.也不知道是谁的. Docker的4种网络模式 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: ·host模式,使用--net=host指定. ·container模式,使用--net=container:NAME_or_ID指定. ·none模式,使用--net=none指定. ·bridge模式,使用--net=bridge指定,默认设置.

[docker]docker的四种网络方式

声明: 本博客欢迎转发,但请保留原作者信息! 博客地址:http://blog.csdn.net/halcyonbaby 内容系本人学习.研究和总结,如有雷同,实属荣幸! bridge方式(默认) Host IP为186.100.8.117, 容器网络为172.17.0.0/16下边我们看下docker所提供的四种网络:创建容器:(由于是默认设置,这里没指定网络--net="bridge".另外可以看到容器内创建了eth0) [[email protected] ~]# docker

从零学习Fluter(八):Flutter的四种运行模式--Debug、Release、Profile和test以及命名规范

从零学习Fluter(八):Flutter的四种运行模式--Debug.Release.Profile和test以及命名规范 好几天没有跟新我的这个系列文章,一是因为这两天我又在之前的基础上,重新认识flutter,觉得flutter这个东西越来越有意思.并且水很深 今天简单分享一下开发学习中的小知识点 Flutter有四种运行模式:Debug.Release.Profile和test,这四种模式在build的时候是完全独立的 Debug ??Debug模式可以在真机和模拟器上同时运行:会打开所

云计算学习路线图课件:学Docker容器怎样快速入门?

"云计算"作为未来网络甚至未来计算机行业的发展趋势,得到了广泛重视.越来越多的人想通过学习云计算收获高薪,学习云计算的过程中会接触到Docker容器,这究竟是为什么?如何快速高效的学好Docker容器.进而学好云计算呢? docker就像一个集装箱一样,里面放着自己所需要的应用程序.docker内部使用的是Linux容器技术,并且提供一个完整的文件系统,独立的网络环境. docker 和vm虚拟机的主要区别在于,vm虚拟机启动之前需要制定好资源,例如CPU,内存,硬盘等,这会占用了一些