Docker安全

ops/2024/9/19 12:14:06/ 标签: docker, 安全, 容器

Docker安全

和本地共享资源,会有安全性问题

1. Cgroups

对资源的上限进行控制

/sys/devices/system

1.1 cpu资源限制

# 进行cpu控制,只使用20%的资源
docker run -it --rm --cpu-period 100000 --cpu-quota 20000 ubuntu
# 测试cpu使用
dd if=/dev/zero of=/dev/null &

在这里插入图片描述

在这里插入图片描述

1.2 cpu优先级控制

# 为该容器分配100的优先级,最高优先级是1024
docker run -it --rm --cpu-shares 100 ubuntu
# 消耗CPU资源
dd if=/dev/zero of=/dev/null &
# 为该容器分配默认1024的优先级
docker run -it --rm ubuntu
dd if=/dev/zero of=/dev/null &
# 实验测试环节,为了保证只有一个CPU的情况下,产生竞争关系。
cd /sys/devices/system/cpu/cpu1/
echo 0 > online

在这里插入图片描述

1.3 memory资源限制

# 为该容器分配200M物理内存+200Mswap
docker run -d --name demo --memory 200M --memory-swap=200M nginx
cd /sys/fs/cgroup/memory/
mkdir x1
# 写入实际物理内存限制,这个根据实际内存
cd x1/
echo 209715200 > memory.limit_in_bytes
# 安装工具,方便使用cgexec
yum install -y libcgroup-tools.x86_64
cd /dev/shm/
ls
free -m
# 使用300M
cgexec -g memory:x1 dd if=/dev/zero of=bigfile bs=1M count=300
free -m

在这里插入图片描述

1.4 磁盘IO资源限制

# 对磁盘的写速度限制为30M
docker run -it --rm --device-write-bps /dev/sda:30MB ubuntudd if=/dev/zero of=bigfile bs=1M count=100 oflag=direct

2. lxcfs隔离

之前对资源的控制,没有隔离效果。

 yum install -y lxcfs-2.0.5-3.el7.centos.x86_64.rpmlxcfs /var/lib/lxcfs/ &
docker run  -it -m 256m -v /var/lib/lxcfs/proc/cpuinfo:/proc/cpuinfo:rw -v /var/lib/lxcfs/proc/diskstats:/proc/diskstats:rw -v /var/lib/lxcfs/proc/meminfo:/proc/meminfo:rw -v /var/lib/lxcfs/proc/stat:/proc/stat:rw  -v /var/lib/lxcfs/proc/swaps:/proc/swaps:rw -v /var/lib/lxcfs/proc/uptime:/proc/uptime:rw ubuntu

在这里插入图片描述

3. 容器特权

# 全权限开启
# docker run -it --rm --privileged busybox

在这里插入图片描述

# 开启部分权限
docker run -it --rm --cap-add=NET_ADMIN busybox

在这里插入图片描述


http://www.ppmy.cn/ops/105713.html

相关文章

使用FFmpeg的AVFilter转换YUV到RGB

AVFilter 是 FFmpeg 库 libavfilter 的核心组件,提供了一套强大的音视频处理框架,用于对音视频流进行复杂的过滤、转换和效果处理。通过 AVFilter,开发者可以构建自定义的滤镜图(filter graph),实现各种音视…

大模型的实践应用28-基于ChatGLM大模型搭建智能自助用药问答系统、药物智能管理系统的应用详解

大家好,我是微学AI,今天给大家介绍一下大模型的实践应用28-基于ChatGLM大模型搭建智能自助用药问答系统、药物智能管理系统的应用详解。 随着人工智能技术的发展,我们的生活在许多方面都得到了改善。本文将介绍如何利用现有的大模型(如:ChatGLM2-6b,百川,通义千问)构建一…

C#使用MQTT(一):MQTT服务端

MQTT(Message Queuing Telemetry Transport) 即时通讯协议, 开发商 IBM MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状…

WPF-快速构建统计表、图表并认识相关框架

一、使用ScottPlot.Wpf 官网地址:https://scottplot.net/quickstart/wpf/ 1、添加NuGet包:ScottPlot.Wpf 2、XAML映射命名空间: xmlns:ScottPlot"clr-namespace:ScottPlot.WPF;assemblyScottPlot.WPF" 3、简单示例:…

【Qt窗口】—— 对话框

目录 (一) 对话框介绍 (二)对话框的分类 2.1 模态对话框 2.2 非模态对话框 2.3 混合属性对话框 (三)内置对话框 消息对话框 QMessageBox 颜色对话框 QColorDialog 字体对话框 QFontDialog 输入对…

RK3568 驱动RTC 使用

一、简介 RK3568开发板采用HYM8563作为RTC(Real Time Clock),HYM8563是一款低功耗CMOS实时时钟/日历芯片,它提供一个可编程的时钟输出,一个中断输出和一个掉电检测器,所有的地址和数据都通过I2C总线接口串行传递。最大总线速度为 400Kbits/s,每次读写数据后,内嵌的…

大数据学习|理解和对比 Apache Hive 和 Apache Iceberg

文章目录 数据模型与存储事务支持性能优化使用场景总结数据模型与存储 Hive: Hive 使用的是传统的关系型数据模型,数据存储在 Hadoop 分布式文件系统 (HDFS) 中,通常是以文本格式(如 CSV 或 TSV)或者二进制格式(如 Parquet 或 ORC)。Hive 的表定义和元数据存储在一个外部…

【C/C++】web服务器项目开发总结【请求 | 响应 | CGI】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 一,背景 二&…

Python(TensorFlow)和MATLAB及Java光学像差导图

🎯要点 几何光线和波前像差计算入瞳和出瞳及近轴光学计算波前像差特征矩阵方法计算光谱反射率、透射率和吸光度透镜像差和绘制三阶光线像差图和横向剪切干涉图分析瞳孔平面焦平面和大气湍流建模神经网络光学像差计算透镜光线传播几何偏差计算像差和像散色差纠正对齐…

2024版最新渗透测试工具大全(非常详细)零基础入门到精通,收藏这一篇就够了

所有工具仅能在取得足够合法授权的企业安全建设中使用,在使用所有工具过程中,您应确保自己所有行为符合当地的法律法规。如您在使用所有工具的过程中存在任何非法行为,您将自行承担所有后果,所有工具所有开发者和所有贡献者不承担…

统计学习方法与实战——统计学习方法概论

统计学习方法概论 文章目录 统计学习方法概论前言章节目录导读 实现统计学习方法的步骤统计学习方法三要素模型模型是什么? 策略损失函数与风险函数常用损失函数ERM与SRM 算法 模型评估与模型选择过拟合与模型选择 正则化与交叉验证泛化能力生成模型与判别模型生成方法判别方法…

打卡第60天------图论

加油!尽管前面的道路很困难,但是依然要坚持下去✊。 在算法训练营我学到了很多东西,对于算法的方法来说真的是涨知识了,对于我一个非科班出身,半路转行的干IT的人来说真的给予了我很大的帮助。我会继续回头看代码随想录…

无人机之传感器篇

无人机的传感器系统是其实现自主飞行、导航、避障、目标识别和环境感知等功能的关键部分。以下是对无人机中常见传感器的详细解析: 一、主要传感器类型 GPS(全球卫星定位系统) 功能:提供无人机的位置和导航信息。 原理&#x…

Vulnhub:hacksudo search

靶机下载地址。下载完成后,在VirtualBox中导入虚拟机,系统处理器修改为2,网卡配置修改为桥接。 信息收集 主机发现 扫描攻击机同网段存活主机。 nmap 192.168.31.0/24 -Pn -T4 靶机ip:192.168.31.218 端口扫描 nmap 192.168…

HTTP协议到HTTPS的Java客户端改造

前言 由于安全原因,我们公司对外暴露的接口通过HTTP协议的方式在未来的某一天将被彻底关闭。 从那以后,外部客户在调用我公司的接口时就只能通过HTTPS协议。 本篇文章的目的就是安全的指导外部客户的客户端开发人员或者有类似需求的Java开发人员&…

【TheMisto.AI】Flux最强线稿模型实际效果测评(附安装方法)

原文链接:【TheMisto.AI】Flux最强线稿模型实际效果测评(附安装方法) (chinaz.com) 不知道有没有小伙伴去测试一下哈,上一篇文章用的都是官方提供的参考图,经常关注Flux的小伙伴也知道那些ControlNet买家秀和卖家秀基…

Express Response类深度解析:全面掌握属性与方法,提升开发效率

在Express框架中,Response对象是一个非常重要的组成部分。它代表了HTTP响应,并提供了一系列的方法和属性来操作这个响应。本文将深入全面地讲解Express的Response类,包括其所有属性和方法,并通过代码示例进行说明。 Response对象…

GPT-4 vs LLaMA3.1:核心技术架构与应用场景对比

目录 前言 一、GPT-4 的核心技术架构 1.1 Transformer 结构概述 1.2 GPT-4 的主要组成部分 1.3 GPT-4 的创新与改进 二、LLaMA3.1 的核心技术架构 2.1 模型概述 2.2 LLaMA3.1 的主要组成部分 2.3 LLaMA3.1 的创新与改进 三、GPT-4 和 LLaMA3.1 的主要差异 3.1 模型规…

python学习11:函数/方法的定义与调用

# 1)定义和调用 # def 方法名([参数]): # 方法体 # [return 返回值]# 调用 方法名([参数]) 案例1:没有返回值 # 案例1:没有返回值 def login_info():username xxxpwd 123456print(我的信息是:用户名{username},密码是…

【Redis】Redis 典型应⽤ - 缓存 (cache)

Redis 典型应⽤ - 缓存 cache 什么是缓存使⽤ Redis 作为缓存缓存的更新策略1) 定期⽣成2) 实时⽣成 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿关于缓存预热 (Cache preheating)关于缓存穿透 (Cache penetration)关于缓存雪崩 (Cache avalanche)关于缓存击穿 (Cache breakdown…