【docker】网络模式/数据卷挂载/资源分配管理

简介: 文章目录前言一、网络1.1 概念1.2 网络模式

一、网络

1.1 概念

  • 每创建一个容器,则会在容器内部生成一个docker0作为该容器的网关
  • 虚拟网关一般是与物理网卡绑定,负责做NAT地址转换、端口映射等功能
  • 查看虚拟网卡:ifconfig,此时会看到docker0的信息

1.2 网络模式

  • 一般新创建的容器网段固定为172.16.0.0/16网段(也可以自定义)
  • 下方指定命令为两个横杠,页面原因显示不正确:- -net
模式 命令 释义
bridge –net=bridge 默认模式,每个容器都有独立网卡、IP、端口等资源
container –net=container:另外容器ID/名字 桥接模式,新容器与另外一个容器共用网卡等资源
host –net=host 桥接模式,新容器与宿主机共用网卡等资源
none –net=none 单机模式,新容器没有网络功能
自定义模式 \ 还是上面四种模式之一,不过网段可以自定义

1.3 相关命令

#查看网络列表
docker networks ls
#创建一个名字为han的网段,默认为bridge模式,docker network ls可以查看到配置的网段
docker network create --subnet=172.13.0.0/16 han
#后台启动容器指定网络模式与IP地址(需要用户先行创建该网段)
docker run -itd --name test1 --network bridge --ip 172.13.0.10 centos:7 bash
#查看容器端口映射情况
docker port 容器ID 
#新创键容器时,将容器的80端口映射到宿主机的1314端口(小p指定端口,大P随机端口
docker run -itd -p 1314:80 nginx:lnmp bash

二、数据

2.1 文件传输

#将宿主机文件拷贝到容器对应位置(只能复制,无法自动解压)
docker cp 宿主机文件 容器ID:路径

2.2 数据卷挂载

  • 将容器的数据保存在宿主机或其他的位置,提高数据的安全性
#创建数据卷,并将宿主机的磁盘挂载到容器中(宿主机借给容器)
docker run -it --name test1 -v 宿主机路径:容器路径 cento:7 bash
#创建一个test1的容器,并建立两个数据卷目录
docker run -it --name test1 -v /data1 -v /data2 centos:7 bash
#创建一个test2容器,并将test1的所有数据卷都挂载到本地容器
docker run -it --name test2 --volumes-from test1 centos:7 bash
#将数据卷容器挂载到一个容器
docker run -itd --volumes-from 数据卷容器 --name 本地容器 centos:7 bash

三、资源分配管理

3.1 概念/功能

  • 每个容器都相当于一个进程
  • docker利用cgroup进行资源控制
  • 是容器隔离6个命名空间的手段

3.2 cgroup四大功能

  • 资源限制
  • 资源统计
  • 任务控制
  • 优先级分级

3.3 资源控制

3.3.1 CPU配置

#概念
cpu周期:一般1s为一个周期
利用率:在一个周期内运行的时间
cpu分配:一个周期内允许容器最大运行的时间
#命令
#设置调度周期(1ms-1s)
--cpu-period 调度周期
#设置有效范围(1000-100w微秒)
--cpu-quota 有效时间
#容器比例分配(权重是与另外一个容器对比)
--cpu-shares 权重
#容器绑定内核
--cpuset-cpus 第几个内核
#动态监控资源使用情况
docker stats

3.3.2 内存配置

#限制最大使用的内存数
--m
#限制交换分区大小(至少是内存两倍,因为要减去内存的大小,才是交换分区真实的大小)
--memory-swap

3.3.3 读写限制

#设置优先级权重(默认为500)
--blkio-weight 权重
#bps:每秒读写的数据路
#限制某个容器读的bps
--device-read-bps 磁盘:数字
#限制某个容器写的bps
--device-write-bps 磁盘:数字
#iops:每秒I/O的次数
#限制某个容器读的iops
--device-read-iops  磁盘:数字
#限制某个容器写的iops
--device-write-iops  磁盘:数字
例:docker run -it --device-write-bps /dev/sda:5MB centos:7

3.4 镜像大小

  • 原理:镜像是一层一层的,层数越少,镜像越轻量级

四、思维导图

相关文章
|
1月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
143 7
|
1月前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
62 9
|
1天前
|
NoSQL 关系型数据库 MySQL
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
79 56
《docker高级篇(大厂进阶):4.Docker网络》包括:是什么、常用基本命令、能干嘛、网络模式、docker平台架构图解
|
17天前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
50 7
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
127 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
23天前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
77 4
|
24天前
|
安全 网络安全 数据安全/隐私保护
利用Docker的网络安全功能来保护容器化应用
通过综合运用这些 Docker 网络安全功能和策略,可以有效地保护容器化应用,降低安全风险,确保应用在安全的环境中运行。同时,随着安全威胁的不断变化,还需要持续关注和研究新的网络安全技术和方法,不断完善和强化网络安全保护措施,以适应日益复杂的安全挑战。
42 5
|
29天前
|
安全 算法 网络安全
量子计算与网络安全:保护数据的新方法
量子计算的崛起为网络安全带来了新的挑战和机遇。本文介绍了量子计算的基本原理,重点探讨了量子加密技术,如量子密钥分发(QKD)和量子签名,这些技术利用量子物理的特性,提供更高的安全性和可扩展性。未来,量子加密将在金融、政府通信等领域发挥重要作用,但仍需克服量子硬件不稳定性和算法优化等挑战。
|
1月前
|
关系型数据库 数据管理 应用服务中间件
【赵渝强老师】Docker的数据持久化
在生产环境中使用Docker时,为了实现数据的持久化和共享,可以通过数据卷(Data Volumes)和数据卷容器(Data Volume Containers)两种方式来管理数据。数据卷是一个独立于容器的挂载目录,可以跨多个容器共享和重用。数据卷容器则是一种特殊容器,用于维护数据卷,便于数据迁移和共享。本文通过示例详细介绍了这两种方法的使用步骤。
|
1月前
|
Java 开发者
JAVA高手必备:URL与URLConnection,解锁网络资源的终极秘籍!
在Java网络编程中,URL和URLConnection是两大关键技术,能够帮助开发者轻松处理网络资源。本文通过两个案例,深入解析了如何使用URL和URLConnection从网站抓取数据和发送POST请求上传数据,助力你成为真正的JAVA高手。
61 11