Docker----------网络network

news2024/11/17 21:25:24

1. 是什么

1.1docker不启动默认网络

  • 1.ens33
  • 2.lo
  • 3.virbr0

在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122.1),是做虚拟机网桥的使用的,其作用是为连接其上的虚机网卡提供 NAT访问外网的功能。

我们之前学习Linux安装,勾选安装系统的时候附带了libvirt服务才会生成的一个东西,如果不需要可以直接将libvirtd服务卸载,
yum remove libvirt-libs.x86_64

2.能干什么

  • 容器间的互联和通信以及端口映射
  • 容器IP变动时候可以通过服务名直接网络通信而不受到影响

3.常用命令

  • docker network ls 查看网络
  • docker network inspect XXX网络名字 查看网络源数据
  • docker network rm XXX网络名字 删除网络
  • All命令

4.网络模式

在这里插入图片描述

  • bridge模式:使用–network bridge指定,默认使用docker0
  • host模式:使用–network host指定
  • none模式:使用–network none指定
  • container模式:使用–network container:NAME或者容器ID指定
    容器实例内默认网络IP生产规则
    docker容器内部的ip是有可能会发生改变的
    在这里插入图片描述

3.1 bridge

 
Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了 docker0 接口 的 IP 地址和子网掩码,让主机和容器之间可以通过网桥相互通信。
 
# 查看 bridge 网络的详细信息,并通过 grep 获取名称项
docker network inspect bridge | grep name

 
ifconfig


在这里插入图片描述

docker run -d -p 8081:8080   --name tomcat81 billygoo/tomcat8-jdk8
docker run -d -p 8082:8080   --name tomcat82 billygoo/tomcat8-jdk8

在这里插入图片描述

3.2 host

直接使用宿主机的 IP 地址与外界进行通信,不再需要额外进行NAT 转换。
在这里插入图片描述

警告 docker run -d -p 8083:8080 --network host --name tomcat83 billygoo/tomcat8-jdk8
正确 docker run -d                          --network host --name tomcat83 billygoo/tomcat8-jdk8

在这里插入图片描述

http://宿主机IP:8080/

在CentOS里面用默认的火狐浏览器访问容器内的tomcat83看到访问成功,因为此时容器的IP借用主机的,
所以容器共享宿主机网络IP,这样的好处是外部主机与容器可以直接通信。

3.3 none

禁用网络功能,只有lo标识(就是127.0.0.1表示本地回环)

docker run -d -p 8084:8080 --network none --name tomcat84 billygoo/tomcat8-jdk8

3.4 container

在这里插入图片描述

Alpine操作系统是一个面向安全的轻型 Linux发行版
docker run -it                                                    --name alpine1  alpine /bin/sh
docker run -it --network container:alpine1 --name alpine2  alpine /bin/sh


在这里插入图片描述
在这里插入图片描述

3.5自定义网络

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

从其架构和运行流程来看,Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。

Docker 运行的基本流程为:

1 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。
2 Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受 Docker Client 的请求。
3 Docker Engine 执行 Docker 内部的一系列工作,每一项工作都是以一个 Job 的形式的存在。
4 Job 的运行过程中,当需要容器镜像时,则从 Docker Registry 中下载镜像,并通过镜像管理驱动 Graph driver将下载镜像以Graph的形式存储。
5 当需要为 Docker 创建网络环境时,通过网络管理驱动 Network driver 创建并配置 Docker 容器网络环境。
6 当需要限制 Docker 容器运行资源或执行用户指令等操作时,则通过 Execdriver 来完成。
7 Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/375671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据技术生态全景一览

大数据技术生态全景一览大数据平台ETL数据接入大数据平台海量数据存储大数据平台通用计算大数据平台各场景的分析运算分布式协调服务任务流调度引擎大数据平台ETL数据接入 大数据有很多的产品,琳琅满目。从架构图上就能看出产品很多。这些产品它们各自的功能是什么…

乐友商城学习笔记(十六)

购物车功能分析 新增 判断用户是否登陆(页面) 未登录,添加到页面的localstrorage中 登陆,添加到redis中 已经存在该商品的购物车记录,更新数量,否则新增一条商品的购物车记录 查询 ly.store.get(“LY_C…

【打卡】图分析与节点嵌入

背景介绍 图(Graphs)是一种对物体(objects)和他们之间的关系(relationships)建模的数据结构,物体以结点(nodes)表示,关系以边(edges)…

Uncaught ReferenceError: jQuery is not defined

今天在拉取项目部署到本地的时候遇到了一个问题特此记录一下 (以后闭坑) 我和同事同时拉取了一样的代码,结果同事的页面加载正常而我的页面像被狗啃了一样,知道是js的问题但是不知道问题出在哪里?后来还是同事帮我解决…

Python - DIY - 使用dump取json某些键值对合成新的json文件

Python - Json处理前言:应用场景:基本工具:文件操作:打开文件:写文件:读文件:关闭文件并刷新缓冲区:Json字符串和字典转换:json.loads():json.dumps():Json文…

高端电器新十年,求解「竞速突围」

竞争激烈的高端电器品牌们,平时王不见王,但也有例外。海尔、博西、海信、创维、方太、老板等等近乎中国电器行业所有一线品牌副总裁级别以上高层,2月22日都现身于上海,来参加一场由红星美凯龙攒起来的高端电器局,2023中…

gogs代码仓库迁移至gitlab仓库上

将gogs仓库的所有分支都迁移到GitLab上 GitHub新建一个空项目 这个我就不教了: 不会的请点击这里 自查本地是否已有SSH公钥 我自身win11举例:C:\Users\PC.ssh\XXXXXX.pub 找“.pub”结尾的文件,用文本打开就是你本地的公钥了 直接复制公钥&#xff0…

比Redis更强,性能直接飙升一倍!

# 什么是KeyDB?KeyDB是Redis的高性能分支,专注于多线程,内存效率和高吞吐量。除了多线程之外,KeyDB还具有仅在Redis Enterprise中可用的功能,例如Active Replication,FLASH存储支持以及一些根本不可用的功能…

Java异常Throwable的分类

1. Exception:程序本身可以捕获并且可以处理的异常 编译时异常:编译期就会检查的异常,若调用的方法中throw了此类异常,则必须进行显式处理处理(用try…catch捕获或者throws向上抛出),否则无法通…

react源码解析10.commit阶段

在render阶段的末尾会调用commitRoot(root);进入commit阶段,这里的root指的就是fiberRoot,然后会遍历render阶段生成的effectList,effectList上的Fiber节点保存着对应的props变化。之后会遍历effectList进行对应的dom操作和生命周期、hooks回…

Materials - DistanceField Nodes

以前的相关笔记,归档发布;距离场相关节点:DistanceToNearestSurface节点:求出传入的Position位置到最近的面的距离并输出,在没有Position输入的时候,默认值会直接使用World Position:Position的…

部门来了个测试工程师,听说是00后,实在是太卷了.....

都说00后躺平了,但是有一说一,该卷的还是卷。 这不,前段时间我们部门来了个00后,工作没两年,跳槽到我们公司起薪18K,都快接近我了。后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了。…

喜讯!华秋电子荣获第六届“蓝点奖”十佳分销商奖

2 月 25 日,由深圳市电子商会主办的2023 中国电子信息产业创新发展交流大会暨第六届蓝点奖颁奖盛典在深圳隆重举行。 图:华秋商城渠道总监杨阳(右三) 深圳市电子商会连续六年举办“蓝点奖”评选活动,旨在表彰对电子信…

公众号运营思路是怎样的?建议收藏

问大家一个直击灵魂的问题: 你真的知道你的公众号该怎么运营吗? 先不要草率回答我,你先说说你的公众号运营思路是怎样的? 如果你连基本的运营思路都讲不出来,可想而知,你的公众号运营也好不到哪里去。 …

3.一一对应—简单工厂模式

什么是简单工厂模式? 简单工厂模式(Simple Factory),解决的是在多个基类的继承类中如何选择对应的类实例化。 到底要实例化哪一个继承类?——这就是简单工厂模式整天思考的问题。而之所以会出现这个问题是由于软件架…

java虚拟机中对象创建过程

java虚拟机中对象创建过程 我们平常创建一个对象,仅仅只是使用new关键字new一个对象,这样一个对象就被创建了,但是在我们使用new关键字创建对象的时候,在java虚拟机中一个对象是如何从无到有被创建的呢,我们接下来就来…

强化学习RL 02: Value-based Reinforcement Learning

DQN和TD更新算法。 目录 Review 1. Deep Q-Network(DQN) 1.1 Approximate the Q*(s,a) Function 1.2 Apply DQN to Play Game 1.3 Temporal Difference(TD) Learning 1.4 TD Learning for DQN 1.4.1 TD使用条件 condition 1.4.2 Train DQN using TD learning 1.5 summ…

【项目精选】基于java出租车计价器设计与实现(源码+论文+视频)

关于java出租车计价器设计与实现 点击下载源码 总共4个模块 (1)出租车计价系统可以实现出租车信息的管理。 1.1出租车信息的查询:通过数据库查询出租车的车型,车号,以及是否可用 1.2出租车信息的增加:向数据…

如何将BI 工具与业务系统进行单点登录对接,实现用户权限通用

首先来看下两套系统的用户体系功能,左边是BI 工具,右边是业务系统,需要实现用户权限对接和打通: 单点登录体系及用户场景 • 场景1. 用户登录Wyn BI页面使用第三方业务系统账号 • 场景2. 用户使用第三方账号登录wyn BI以后需要获…

栈与队列小结

一、理论基础1.队列是先进先出,栈是先进后出2.栈和队列是STL(C标准库)里面的两个数据结构。栈提供push和pop等等接口,所有元素必须符合先进后出规则,所以栈不提供走访功能,也不提供迭代器。3.栈是以底层容器…