网络模式与资源控制管理

  • docker的四种网络
  • docker自定义网络
  • Docker资源控制(cpu、内存、IO资源控制)

docker的四种网络

1、host
在容器内部创建的两个容器A,B,通过docker 0(相当于小型的局域网,为内部容器的网关)进行内部通信;与外部通信地址映射Nat模式物理网卡ens33
如果两个内部容器的服务不同,但端口一样,进行外部通信时,进行端口映射成不同的端口进行通信
2、container
创建的容器不会创建自己的网卡、设置IP等,而是和一个指定地容器共享IP、端口范围
这个模式指定新创建的容器和已经存在的一个容器共享一network namespace,而不是和宿主机共享,新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定地容器共享IP、端口范围等。同样,两个容器除了网络方面,其他的如文件系统、进程列表还是隔离的。两个容器的进程可以通过loo网卡设备通信
3、None
该模式关闭了容器的网络功能
这种网络模式下容器只有lo回环网口,没有其他的网卡。none 模式可以在容器创建时通过-network=none参数指定
这种类型的网络无法联网,但是封闭的网络能很好的保证容器的安全性,提高了安全性。
4、Bridge
此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker虛拟网桥,通过docker0网桥及iptables的nat表配置与宿主机通信
当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连在了一个二层网络中
从docker0子网中分配一个IP给容器使用,并设置docker0的IP地址为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端挂载在新创建的容器中,并命名为ethO (容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中。可以通过brctl show命令查看。

host模式         -net= host                容器和宿主机共享Network namespace(网络名称空间)
containeb模式    -net=container.NAME_or_ID 容器和另外一个容器共享Network namespace(共享ip地址和端口范围)
none模式         -net= none                容器有独立的Network namespace,但并没有对其进行任何网络设置,无法与外部进行交互。如分配veth pair和网桥连接,配置IP等。
bridge模式       -net= bridge              (默认为该模式)
docker 0为虚拟网桥,所有的容器会连接到虚拟网桥上(因为虚拟网桥为它们的虚拟网关),虚拟网桥会结合iptable的规则去进行地址映射,把容器地址段映射为宿主机的地址段,用于和宿主机通讯,最后让宿主机连接外网。

docker自定义网络

查看网络列表

根据镜像创建容器并指定ip地址

会报错:来自守护程序的错误响应,仅在用户定义的网络上支持用户指定的IP地址

docker run -itd --name test1 --network bridge --ip 172.17.0.10 centos:7 /bin/bash


根据镜像创建容器不指定ip地址

会报错:原因已经之前指定IP地址了


查看已运行容器状态

 docker exec -it 3a /bin/bashyum -y install net-toolsifconfig

自定义网络固定IP

 docker network create --subnet=172.18.0.0/16 mysub

定义分配地址

docker run -itd --name test3 --net mysub --ip 172.18.0.100 centos:7 /bin/bash


查看容器网络地址

docker exec -it d69 /bin/bash
yum -y install net-tools
ifconfig

测试网关


测试另一个网桥网关

Docker资源控制(cpu、内存、IO资源控制)

07年谷歌,可以控制资源分配通过操作系统内核,控制应用程序使用内存资源、      cpu资源、 文件系统资源等等
cgroup是一种资源控制手段
每个容器相当于一个进程

CPU使用率控制

cpu周期: 1s为一个周期的定律,参数值一般为100000 (CPU衡量单位是秒)
假如需要给此容器分配cpu使用率的20%,则参数需要设置为20000,相当于每个周期分配给这个容器0.2s
cpu在一个时刻,只能给一个进程占用cat /sys/fs/cgroup/qpu/docker/容器ID/qpu.cfs_ quota us


动态查看cpu使用率

top


docker stats

CPU 20%的限定

方式一 在创建容器运行进行资源限制
创建容器


计算圆周率

docker exec -it 2e /bin/bash
yum -y install bc
echo "scale=5000;4*a(1)" | bc -l -q

然后再开个窗口top查看


方式二 对已经存在且在运行时状态的容器进行设置

Docker网络模式与资源控制管理相关推荐

  1. docker网络模式与资源控制

    文章目录 容器网络 Docker四种网络模式 HOST container None Bridge veth对 总结 docker自定义网络 自定义网络固定IP docker资源控制(cpu.内存.I ...

  2. Docker-----网络模式与资源控制管理

    文章目录 一.docker的四种网络 二.docker自定义网络 三:Docker资源控制(cpu.内存.IO资源控制) 一.docker的四种网络 1.host 在容器内部创建的两个容器A,B,通过 ...

  3. Docker网络模式解析

    目录 前言 一.常用基本命令 (一)查看网络 (二)创建网络 (三)查看网络源数据 (四)删除网络 二.网络模式 (一)总体介绍 (二)容器实例内默认网络IP生产规则 (三)案例说明 1.bridge ...

  4. 七、Docker网络模式详解

    目录 一.docker网络概述 1.docker网络实现的原理 2.容器的端口映射 1).端口映射 2).四种端口映射 3).端口映射演示 (1).随机端口映射(-P) (2).指定端口映射(-p 宿 ...

  5. 【云原生 | Docker 高级篇】06、Docker 网络模式详解

    目录 一.Docker 平台架构图解 ​整体说明: 二.Docker 网络是什么 三.Docker 网络常用基本命令 1.查看网络 2.查看网络源数据 3.删除网络 4.案例 ​四.Docker 能干 ...

  6. Docker网络模式与数据管理

    Docker网络模式与数据管理 前言 一.四种网络模式 (1)Host模式 (2)Container模式 (3)Bridge模式(默认) (4)None模式 (5)overlay2 二.自定义网络 ( ...

  7. 【k8s】docker网络模式(必知)

    docker网络部分的视频我看了很多,讲解最透彻的还是https://www.bilibili.com/video/BV123411y7TB?p=8 获取本文方式:见谷粒商城文尾,备注[docker网 ...

  8. Docker网络模式详解

    文章目录 一.docker网络概述 1.docker网络实现的原理 二. docker的网络模式 1.默认网络 2.使用docker run 创建Docker容器时,可以用--net或--networ ...

  9. 查看此docker网络连接模式_Docker系列-Docker 网络模式及配置

    一.Docker网络模式 docker run 创建 Docker 容器时,可以用 –net 选项指定容器的网络模式,Docker 有以下 4 种网络模式: host 模式,使用 –net=host ...

最新文章

  1. iPhone 13便宜到上热搜!王守义诚不我欺
  2. java2019 数据结构算法面试题_GitHub - sjyw/java-interview: 史上最全Java面试题汇总与解析(505道):2019最新版...
  3. 2021考研时间公布 2020年12月26日至27日进行初试
  4. nginx负载均衡集群
  5. select 在各浏览器中显示option的测试结果分享
  6. 在50亿信息泄露事件面前,Struts 2 漏洞和CIA泄密都是小事 | 宅客周刊
  7. VC6.0编写BHO #error : WINDOWS.H already included. MFC apps must not #include windows.h
  8. android binder与handler的简要理解
  9. Leetcode 28. 实现 strStr()
  10. ORA-00911:无效字符 错误及解决
  11. 电脑硬盘数据线_这40种电脑故障的排除技巧你都掌握了吗?
  12. Python学习笔记之类(四)
  13. 【Flink】Flink 1.9 写入 es6 案例
  14. 尾气冒黑烟是什么问题_老司机教你从尾气颜色就判断出爱车的“身体状况”
  15. Linux 命令(125)—— vmstat 命令
  16. 不规则物体形状匹配综述
  17. codeblock-(no debugging symbols found)(已解决)
  18. 黄教头第六周作业 一个基础的反射型xss
  19. 单位公司年会团拜会抽奖软件程序
  20. 开源项目——小Q聊天机器人V1.4

热门文章

  1. ppt中的面积显示图表中有数据被盖住了显示不出来_关于PPT图表的用法,看这一篇就够了...
  2. CTF Crypto中涉及的AES题目
  3. A计划(三维dfs)
  4. 无线通信技术(习题课)
  5. 淘宝店小蜜配置手册——店小蜜的配置框架
  6. Riak - 安装运维篇(1)
  7. Java虚拟机规范 Java SE 8版 - class文件格式(二)
  8. 举个栗子~Tableau 技巧(244):用和弦图(Chord diagram)呈现数据关系
  9. 图形学进阶——移动端TB(D)R架构基础
  10. 多元伯努利分布 multivariate bernoulli distribution